ECMAscript標(biāo)準(zhǔn)

2018-06-12 18:20 更新

1、什么JavaScript?

是一門客戶端的腳本語言 , 用來提供與web頁面進(jìn)行交互。 js可以實(shí)現(xiàn): 表單驗(yàn)證 輪播圖 放大鏡 ..........

web 頁面的三層結(jié)構(gòu): 結(jié)構(gòu)層 html 提供頁面結(jié)構(gòu) 表現(xiàn)層 css 美化頁面 行為層 js 提升用戶體驗(yàn)

2、js的歷史背景

布萊登.艾奇 JavaScript誕生于1995年。起初它的主要目的是處理以前由服務(wù)器端負(fù)責(zé)的一些表單驗(yàn)證。在那個(gè)絕大多數(shù)用戶都在使用調(diào)制解調(diào)器上網(wǎng)的時(shí)代,用戶填寫完一個(gè)表單點(diǎn)擊提交,需要等待幾十秒,完了服務(wù)器反饋給你說某個(gè)地方填錯(cuò)了......在當(dāng)時(shí)如果能在客戶端完成一些基本的驗(yàn)證絕對(duì)是令人興奮的。當(dāng)時(shí)走在技術(shù)革新最前沿的Netscape(網(wǎng)景)公司,決定著手開發(fā)一種客戶端語言,用來處理這種裝簡單的驗(yàn)證。當(dāng)時(shí)就職于Netscape公司的布蘭登·艾奇開始著手計(jì)劃將1995年2月發(fā)布的LiveScript同時(shí)在瀏覽器和服務(wù)器中使用。為了趕在發(fā)布日期前完成LiveScript的開發(fā),Netscape與Sun公司成立了一個(gè)開發(fā)聯(lián)盟。而此時(shí),Netscape為了搭上媒體熱炒Java的順風(fēng)車,臨時(shí)把LiveScript改名為JavaScript,所以從本質(zhì)上來說JavaScript和Java沒什么關(guān)系。

95 liveScript
java javascript

h5 和 js 的關(guān)系 ?

3、javascript的組成?

ECMAscript 歐洲計(jì)算機(jī)制造商協(xié)會(huì) 不是一門語言 是一個(gè)組織 用來規(guī)定js的語法規(guī)范
BOM (瀏覽器對(duì)象模型) DOM (文檔對(duì)象模型)

4、javascript 代碼實(shí)現(xiàn) 位置注意

1、所有的js代碼都要寫在 script 的標(biāo)簽對(duì)中
2、 script 標(biāo)簽放到頁面的任意位置(除了title中) 3、可以將js的代碼寫到 .js 文件中 ,通過 <script src="xx.js"></script>,此標(biāo)簽對(duì)中的js代碼就不會(huì)被識(shí)別了。

5、javascript的幾個(gè)輸出語句

alert() 通過彈出對(duì)話框的方式輸出信息 (項(xiàng)目中不建議使用) 一般用于調(diào)試 document.write(); 在瀏覽器中打印結(jié)果
console.log(); 控制臺(tái)輸出 一般用于調(diào)試中 6、js中的注釋

// 單行
/**/ 多行

7、js中的字面量(常量)

數(shù)值: 整數(shù): 十進(jìn)制整數(shù) 0---9 組成 二進(jìn)制整數(shù) 0 1
八進(jìn)制整數(shù) 0--7組成 一般以 0 開頭 023 十六進(jìn)制整數(shù) 0--9 a--f 一般以 0x 開頭
小數(shù): 0.1
1.1 + 0.1 = 1.2 字符: js中的字符 可以通過 "" 或 '' 括起來 注意引號(hào)嵌套問題: " ' ' " 或 ' " " '

8、js中標(biāo)識(shí)符(變量)的命名規(guī)范

1、js中的標(biāo)識(shí)符只能由 字母、數(shù)字、下劃線、$ 組成(不建議用中文) 2、標(biāo)識(shí)符 不能用 數(shù)字 開頭 3、不能使用系統(tǒng)指定的關(guān)鍵字命名

命名規(guī)范 (擴(kuò)展): 駝峰式命名法: 小駝峰 qianFengJiaoYu (lastIndexOf()) backgroundColor fontSize。。。 大駝峰 QianFengJiaoYu


 匈牙利命名法:
      iNum     命名一個(gè)整數(shù)類型的變量
      fNum     命名一個(gè)小數(shù)類型的變量
      cChar    命名一個(gè)字符類型的變量
      sStr     命名一個(gè)字符串類型的變量  (str)

(擴(kuò)展)代碼書寫規(guī)范: 1、js中的所有代碼嚴(yán)格區(qū)分大小寫 num Num 兩個(gè)不同的變量 alert() Alert() 2、js中每行語句結(jié)束后 可以使用 回車 或 ; 換行
3、js中所有的標(biāo)點(diǎn)符號(hào) 必須使用 英文半角狀態(tài)

9、js中的變量問題

變量:就是在程序運(yùn)行的過程中,其值有可能會(huì)發(fā)生改變的量。

10、變量的定義和賦值

顯示定義: 通過 var 定義 var iNum = 90;

隱式定義: 不同var直接就定義變量 iNum = 90;

變量必須先定義 后使用

11、js中輸出結(jié)果時(shí)注意幾個(gè)問題:

1、如果輸出是一個(gè)變量 該變量一定不能加引號(hào) "" 2、如果輸出是一個(gè)字符類型 一定要加引號(hào)
3、如果輸出的是一個(gè)數(shù) ,可以加引號(hào) 也可以不加引號(hào) 4、如果輸出的是字符 和 變量的組合,需要使用 + 拼接

12、變量的數(shù)據(jù)類型

基本數(shù)據(jù)類型 字符型 string : 數(shù)據(jù)值有多個(gè)
通過引號(hào)引起來
數(shù)值型 number : 數(shù)據(jù)值有多個(gè) (整數(shù)和小數(shù))

      
 布爾型  boolean :
      數(shù)據(jù)值 有兩個(gè)  true    false  

復(fù)合數(shù)據(jù)類型 對(duì)象 object 特殊數(shù)據(jù)類型 null 空 undefined 未定義

13、(擴(kuò)展) 測試變量的數(shù)據(jù)類型

typeof
用法: typeof 變量名 typeof(變量名)

typeof的返回值有哪些? number boolean string object undefined function

typeof typeof 數(shù)據(jù) ---> string

14、運(yùn)算符和表達(dá)式

什么是表達(dá)式: 一個(gè)字面量或一個(gè)變量或通過運(yùn)算符連接的式子 23 iNum 5+8 什么是運(yùn)算符:進(jìn)行運(yùn)算的符號(hào)

運(yùn)算符有哪些? 每一個(gè)運(yùn)算符對(duì)應(yīng)的表達(dá)式的值

15、算術(shù)運(yùn)算符

一、運(yùn)算符 : (雙目)+ - * / %(模運(yùn)算符) (單目) ++ --

二、表達(dá)式的值

  • : 1、如果符號(hào)兩側(cè)都是純數(shù)值類型 正常計(jì)算 68 = 48 2、如果符號(hào)兩側(cè)有一側(cè)是純數(shù)字字符串 純數(shù)字字符串自動(dòng)轉(zhuǎn)成數(shù)值類型 6"3" = 18 "5"*"9" = 45 3、如果符號(hào)兩側(cè)有一側(cè)是非數(shù)字字符串 結(jié)果 NaN (not a number) 不能正常計(jì)算的結(jié)果都是NaN
  • / % (對(duì)應(yīng)的表達(dá)式的值 同 * )

    %(求余數(shù)): 結(jié)果正負(fù) 取決于 % 左側(cè)的操作數(shù) 5%3 = 2 6%2 = 0 7%10 = 7 100%10 = 0 1235 % 10 = 5

  • : 表示連接 / 計(jì)算的加號(hào) 10 + "20" = "1020" "abc" + 20 + "10" = "abc2010" 數(shù)字 和 字符串相加 表示連接

    "20" + 10 - "10" = "2010"-"10" = 2000 結(jié)果類型 number

    單目運(yùn)算符: ++ 自增 -- 自減 注意: ++ -- 的操作數(shù)必須是變量

    var i = 0; 表達(dá)式: i++ (后置)
    ++i (前置) i-- --i

    ++i 和 i++ 的異同: 相同: 變量i的結(jié)果都會(huì)自增1 不同: 表達(dá)式的結(jié)果不同 如果++在后,也就是i++, 先將i的值作為整個(gè)表達(dá)式的值, i再自增 (先賦值,后自增) var i = 10; j = i++; // i = 11 j = 10 (用變量j來代替整個(gè)表達(dá)式的值) 如果++在前,也就是++i, 先將i自增,再將i的值作為整個(gè)表達(dá)式的值 (先自增,后賦值) var i = 10; j = ++i; // i = 11 j = 11

    4 + true = 5 5 - false = 5

    true 和 false 進(jìn)行運(yùn)算時(shí),true自動(dòng)轉(zhuǎn)成1 false 自動(dòng)轉(zhuǎn)成0

    16、關(guān)系運(yùn)算符

    一、運(yùn)算符: > >= < <= ==等于 ===全等于 != 不等于 !== 全不等 二、表達(dá)式的值 : true false 如果關(guān)系表達(dá)式成立,結(jié)果為 true 否則為false 3>=3 true 3 == 3 true "3" > 0 true "1" > "a" false "a1" > 20 false

    1、如果運(yùn)算符兩側(cè)都是數(shù)值型 正常比較 2、如果運(yùn)算符兩側(cè)都是字符型 正常比較 (通過鍵盤按鍵的ASCII碼值進(jìn)行比較的 0--48 a--97 A--65) 3、如果運(yùn)算符兩側(cè)有一側(cè)是純數(shù)字字符串 自動(dòng)轉(zhuǎn)換后正常比較 4、如果運(yùn)算符兩側(cè)有一側(cè)是非數(shù)字字符串 不能正常比較 , 結(jié)果false

    三、 == 和 === 的區(qū)別: == 等于 只比較結(jié)果值,不比較類型 100 == “100” true 100!="100" false === 全等 先比較類型 在比較結(jié)果值 100 === “100” false 100 !== "100" true

    17、邏輯運(yùn)算符

    一、運(yùn)算符 ||或 && 與 ! 非 二、邏輯表達(dá)式的值 : true false (一般參與邏輯運(yùn)算的都是布爾值) &&(并且): 如果&& 兩側(cè)都為真,結(jié)果為true 地球是方的 && 姚天宇是男生 -- false 地球是圓的 && 姚天宇是男生 --- true 4>5 && 8==8 false

    || ( 或者 ) : 如果 || 兩側(cè)都為假 ,結(jié)果為false
    4>5 || 8==8 true ! 非 :    ??!false --- true !true ----false 

    變量 num 既能被5整除 又能 被3整除 num%5==0 && num%3==0

    (擴(kuò)展)邏輯運(yùn)算符的短路問題 var num = 10; alert( 3>4 && num++ ); false alert( num ); 10

    false 遇到 && ,&& 后面的表達(dá)式不再執(zhí)行

    var num = 10; alert( 3< 4 || ++num ); alert( num );

    true 遇到 || , || 后面的表達(dá)式 不再執(zhí)行

    18、 條件運(yùn)算符 三目 ? :
    一、運(yùn)算符 ? : 二、表達(dá)式的值 表達(dá)式1 ? 表達(dá)式2 : 表達(dá)式3 如果表達(dá)式1的結(jié)果為真 , 整個(gè)條件表達(dá)式的值 為表達(dá)式2的值 如果表達(dá)式1的結(jié)果為假, 整個(gè)條件表達(dá)式的值 為表達(dá)式3的值

    4>5 ? 5==6 : 90 ---------90 4<5 ?  5==6 : 90 ----------false 19、用戶輸入問題

    prompt("用戶提升語句",“”)
    點(diǎn)擊確定,返回輸入的數(shù),點(diǎn)擊取消 返回null 點(diǎn)擊確定返回的結(jié)果類型是一個(gè)string類型 通過parseInt()

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)