js基礎(chǔ)

學(xué)習(xí)手冊(cè):
W3School離線手冊(cè)
http://www.w3school.com.cn/
http://www.runoob.com/
https://developer.mozilla.org/zh-CN/
https://caniuse.com/

書籍:
《JavaScript高級(jí)程序設(shè)計(jì)》
《JavaScript權(quán)威指南》

1.JavaScript基本介紹及發(fā)展趨勢(shì)
腳本
livescript --> javascript(網(wǎng)景) --> jscript(微軟) --> ECMA --> ECMAScript

JavaScript = ECMAScript + BOM + DOM

ES3
ES5 -- ECMAScript5.1(IE9之前不支持)
ES6 -- ECMAScript2015

2.JS和H5的關(guān)系
<video>

3.編寫JS及如何運(yùn)行JS
編輯器:HBuilder
sublime text
atom
vscode
JS是嵌套在HTML中的一段腳本程序。類比CSS:
內(nèi)聯(lián):
標(biāo)簽內(nèi)部使用如事件屬性onclick來編寫
內(nèi)部:
<script></script>
標(biāo)簽可出現(xiàn)在任何位置(前中后)
推薦將script標(biāo)簽寫在body結(jié)束標(biāo)簽之前
type="text/javascript" 屬性可省略,默認(rèn)為 text/javascript 屬性取值
外部:
<script src="外部JS資源路徑"></script>
在<script>標(biāo)簽之間不能再添加其它的JS代碼

輸出:
    a. alert("提示消息")
        -- 是彈出警告框提示消息,有“確定”按鈕
    b. document.write("向文檔中輸出的內(nèi)容");
        -- 向文檔中輸出內(nèi)容
    c. console.log("打印信息")
        -- 在控制上打印日志信息
輸入:
    a. prompt("提示", "默認(rèn)值")
        -- 彈出輸入框,點(diǎn)擊“確定”接收輸入框中的輸入值,點(diǎn)擊“取消”返回 null

JS是在瀏覽器中的 JavaScript 引擎中解釋執(zhí)行的(V8)。

JS中一條語句(命令、代碼)的結(jié)束使用 ; 表示

4.變量的概念及基本運(yùn)算
變量:
是在內(nèi)存中的數(shù)據(jù)存儲(chǔ)空間,隨著運(yùn)算的進(jìn)行,該空間中存儲(chǔ)的數(shù)據(jù)可以變化。
三要素:
變量名
變量值
數(shù)據(jù)類型

數(shù)據(jù)類型:
    基本類型:
        Number -- 數(shù)字(整數(shù)、小數(shù))
        String -- 字符串,使用 "" 或 '' 包含
        Boolean -- 布爾,表示真假,可取值為 true 或 false
        Undefined -- 未定義,只有 undefined 一個(gè)取值
        Null -- 空,通常用于表示空對(duì)象,只有 null 一個(gè)取值
        Symbol(ES6) -- 符號(hào)
    引用類型:
        Object -- 對(duì)象

JS是弱類型(動(dòng)態(tài)類型)的語言:變量的數(shù)據(jù)類型是在運(yùn)行時(shí)確定的。

注釋:
    // 單行注釋
    /* 多行注釋 */
    /**  */

變量定義:
    語法:var 變量名 = 變量值;
    分解:
        var 變量名; // 變量聲明
        變量名 = 變量值; // 變量賦值

求表達(dá)式的數(shù)據(jù)類型:
    typeof 表達(dá)式;
    typeof 求解的結(jié)果數(shù)據(jù)類型為字符串,該字符串可取值:
        "number"
        "string"
        "boolean"
        "undefined"
        "symbol"
        "object"
        "function"

5.變量命名規(guī)則和關(guān)鍵字的介紹
關(guān)鍵字:
JS語言中已占用的有特殊函義的單詞。

標(biāo)識(shí)符命名
    規(guī)則:
        a. 能夠包含的字符:字母、數(shù)字、下劃線、$
        b. 不能以數(shù)字開頭
        c. 不能是關(guān)鍵字
    規(guī)范:
        a. 采用簡(jiǎn)潔的英文單詞命名
        b. 駝峰命名法:
            第一個(gè)單詞首字母小寫,其它單詞首字母大寫(小駝峰)

6.變量不同類型之間的自動(dòng)、手動(dòng)類型轉(zhuǎn)換
自動(dòng)(隱式)類型轉(zhuǎn)換
強(qiáng)制(顯式)類型轉(zhuǎn)換:
parseInt()
-- 通常是將字符串解析為整數(shù)數(shù)字
parseFloat()
-- 通常是將字符串解析為浮點(diǎn)數(shù)數(shù)字
Number()
-- 是將其它類型轉(zhuǎn)換為數(shù)字類型

    parseInt()與parseFloat() 在轉(zhuǎn)換數(shù)據(jù)類型時(shí)有一定的容錯(cuò)能力,如果第一位就不能轉(zhuǎn)換,則返回的是 NaN(not a number)。
    Number()將字符串轉(zhuǎn)換為數(shù)字時(shí),沒有容錯(cuò)能力。

    Number() 轉(zhuǎn)換:
        字符串-->數(shù)字
            兼容:對(duì)應(yīng)數(shù)字
            不兼容:NaN
            "" --> 0
        布爾 --> 數(shù)字
            true --> 1
            false --> 0
        Undefined --> 數(shù)字
            undefined --> NaN
        Null --> 數(shù)字
            null --> 0
        Symbol --> 數(shù)字
            報(bào)錯(cuò):Cannot convert a Symbol value to a number
        Object --> 數(shù)字
            --> NaN

    Boolean()
        可以將其它類型轉(zhuǎn)換為 Boolean 類型,先測(cè)試

    String()

7.賦值、關(guān)系、算術(shù)等運(yùn)算符的講解
賦值運(yùn)算符:
= // 將右邊的值的賦給左邊的變量
字符串連接:
+ // 將+號(hào)兩端的字符串拼接在一起(只要 + 號(hào)兩端有一個(gè)是字符串,都是做字符串拼接)
算術(shù)運(yùn)算符:
+
-
*
/
%(模) -- 求余數(shù)
求一個(gè)三位數(shù)字各位數(shù)是多少
關(guān)系運(yùn)算符:
>
<
>=
<=
== / ===
== 是比較值是否相同,如果數(shù)據(jù)類型一致,則直接比較值,如果數(shù)據(jù)類型不一致,則會(huì)先嘗試轉(zhuǎn)換類型,然后再比較值。
=== 是會(huì)嚴(yán)格區(qū)分?jǐn)?shù)據(jù)類型,如果數(shù)據(jù)類型一致則比較值,如果類型不一致則直接返回 false
!= / !==
!= 是比較值是否不相同,如果數(shù)據(jù)類型一致,則直接比較值,如果數(shù)據(jù)類型不一致,則會(huì)先嘗試轉(zhuǎn)換類型,然后再比較值。
!== 是會(huì)嚴(yán)格區(qū)分?jǐn)?shù)據(jù)類型,如果數(shù)據(jù)類型一致則比較值,如果類型不一致則直接返回 true
邏輯運(yùn)算符:
&& -- 并且
exp1 && exp2
|| -- 或者
exp1 || exp2
! -- 非(單目運(yùn)算符)
!exp1
短路運(yùn)算符:&&、||
自增、自減:
++
--
i++/++i;:<==> i = i + 1;
var i = 10;
var j = ++i;
var j = i++;
前綴(++i):先運(yùn)算(自增)后引用(自增運(yùn)算后的值使用)
后綴(i++):先引用(自增運(yùn)算前的值使用)后運(yùn)算(自增)

    var i = 10;
    var j = i++ + ++i + ++i + i++;    // i = 14
               10   +  12  + 13   + 13
三目運(yùn)算符:
    條件 ? true : false;
    閏年條件:
        年份能被4整除但不能被100整除,或年份值能被400整除

復(fù)合運(yùn)算符:
    +=
    -=
    *=
    /=
    %=
    
    i += 5; <==> i = i + 5;
    i *= (3 + 7); <==> i = i * (3 + 7);

其它:
    ()
    .
    +
    -

8.二進(jìn)制
十進(jìn)制
十六進(jìn)制
八進(jìn)制

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,569評(píng)論 0 13
  • 鴉片戰(zhàn)爭(zhēng)再研究的意義、琦善的歷史記載與民間傳說對(duì)比、清朝政府的對(duì)外態(tài)度
    菜靜靜閱讀 151評(píng)論 0 0
  • 17年來了好多嬰兒的床帷,而且銷量一直不是很好,與靜靜溝通后我家這月申請(qǐng)嬰兒床,將嬰兒床放在成人大床旁邊,擴(kuò)大嬰兒...
    朱鴻羽閱讀 271評(píng)論 0 0
  • 《偽裝者》這部戲,聽說了好久,最近終于有時(shí)間看一看。 就劇情、人物塑造各方面來講,《偽裝者》這部戲和豬媽媽前一段時(shí)...
    豬媽媽愛奮斗閱讀 1,150評(píng)論 0 2
  • 那天在社會(huì)調(diào)查課上,老師講到了他讀書時(shí)的一個(gè)同學(xué)的故事。有一個(gè)女孩喜歡吃扣肉,可是當(dāng)時(shí)她在學(xué)校打菜是不排隊(duì)的,這對(duì)...
    夏晚歌閱讀 990評(píng)論 0 0

友情鏈接更多精彩內(nèi)容