




免費(fèi)預(yù)覽已結(jié)束,剩余27頁可下載查看
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
DAY 01:一、基本特點(diǎn): 1、JavaScript是一種屬于網(wǎng)絡(luò)的腳本語言,已經(jīng)被廣泛用于Web應(yīng)用開發(fā),常用來為網(wǎng)頁添加各式各樣的動(dòng)態(tài)功能,為用戶提供更流暢美觀的瀏覽效果。通常JavaScript腳本是通過嵌入在HTML中來實(shí)現(xiàn)自身的功能的。 2、是一種解釋性腳本語言(代碼不進(jìn)行預(yù)編譯)。 3、主要用來向HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)頁面添加交互行為。 4、可以直接嵌入HTML頁面,但寫成單獨(dú)的js文件有利于結(jié)構(gòu)和行為的分離。 5、跨平臺(tái)特性,在絕大多數(shù)瀏覽器的支持下,可以在多種平臺(tái)下運(yùn)行(如Windows、Linux、Mac、Android、iOS等)。 6、avascript腳本語言同其他語言一樣,有它自身的基本數(shù)據(jù)類型,表達(dá)式和算術(shù)運(yùn)算符及程序的基本程序框架。Javascript提供了四種基本的數(shù)據(jù)類型和兩種特殊數(shù)據(jù)類型用來處理數(shù)據(jù)和文字。而變量提供存放信息的地方,表達(dá)式則可以完成較復(fù)雜的信息處理。 二、日常用途: 1、嵌入動(dòng)態(tài)文本于HTML頁面。 2、對(duì)瀏覽器事件做出響應(yīng)。 3、讀寫HTML元素。 4、在數(shù)據(jù)被提交到服務(wù)器之前驗(yàn)證數(shù)據(jù)。 5、檢測(cè)訪客的瀏覽器信息。 6、控制cookies,包括創(chuàng)建和修改等。 7、基于Node.js技術(shù)進(jìn)行服務(wù)器端編程。DAY 02:javascript的放置和注釋 1.輸出工具 A.alert(); B.document.write() C.prompt(,) 2.javascript如何在html頁面當(dāng)中進(jìn)行放置 A. * javascript可以在html頁面當(dāng)中的任何位置來進(jìn)行調(diào)用, 但是他們還是一個(gè)整體,是相互聯(lián)系,相互影響。 * B.可以在超鏈接或是重定向的位置調(diào)用javascript代碼 格式:javascript:alert(我是超鏈接) 重定向格式:action=javascript:alert(我是表單) 3.在事件后面進(jìn)行調(diào)用 A.格式:onclick=alert(我是事件) B. alert(我是DIV2); 4.調(diào)用外部javascript文件 格式: * 在調(diào)用頁面標(biāo)簽對(duì)當(dāng)中不能有任何代碼在js腳本中不能出現(xiàn)標(biāo)簽對(duì)但是他們還是一個(gè)整體,是相互聯(lián)系,相互影響。 * 5.javascript注釋: 1.對(duì)付舊的瀏覽器 2.真正注釋符號(hào)。 A.行內(nèi)注釋 / B.塊注釋/* */DAY 04:javascript變量和數(shù)據(jù)類型(下) 一、typeof 操作符 他是用來檢測(cè)數(shù)據(jù)類型的一元運(yùn)算符,并且返回的結(jié)果始終是一個(gè)字符串。二、數(shù)據(jù)類型 1.初始類型 Undefined 指的就是變量創(chuàng)建后但是沒有賦值,而變量的默認(rèn)值就是undefined Null 指的是什么都沒有,僅僅是一個(gè)占位符。 Number String 用單雙引號(hào)來說明,他所包圍的值都可以是字符串。 單雙引號(hào)的用法: 效率是一樣的;只能成對(duì)出現(xiàn),不能相互交叉使用;可以相互嵌套。 還包括一些特殊的字符: n 換行 t 制表符 b 空格 r 回車 ” “ Boolean 只有兩個(gè)特殊的值 true false 2.引用類型 object (class) 類型 值 typeof運(yùn)算的結(jié)果 Undefined undefined undefined Null null object String 在單雙引號(hào)之間的值,特殊字符 string Boolean true false boolean DAY 05:javascript變量和數(shù)據(jù)類型(下)數(shù)據(jù)類型 1.初始類型 Undefined 指的就是變量創(chuàng)建后但是沒有賦值,而變量的默認(rèn)值就是undefined Null 指的是什么都沒有,僅僅是一個(gè)占位符。 Number 包括整型和浮點(diǎn)型。支持二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制。用科學(xué)計(jì)數(shù)法來表示, 還包括一些特殊的值: Number.MAX_VALUE 最大值 Number.MIN_VALUE 最小值 String 用單雙引號(hào)來說明,他所包圍的值都可以是字符串。 Boolean 只有兩個(gè)特殊的值 true false 2.引用類型 object (class) 包含相關(guān)屬性和方法的一個(gè)集合。 new 關(guān)鍵字。 var obj=new Object(); 類型 值 typeof運(yùn)算的結(jié)果 Undefined undefined undefined Null null object String 在單雙引號(hào)之間的值,特殊字符 string Boolean true false boolean Number 整型和浮點(diǎn)型,特殊值 numberDAY 06:javascript運(yùn)算符一、運(yùn)算符和操作數(shù)的組合就稱為表達(dá)式。二、javascript運(yùn)算符 (一) 算術(shù)運(yùn)算符 + - * / % var+ +var var- -var A. + (1) 用于數(shù)值的運(yùn)算 (2) 用于字符串的連接 * 任何的數(shù)據(jù)類型和字符串相加都是等于相加以后的字符串 * B. % (1)用于取一段范圍的值 eg:取偶數(shù) 取奇數(shù) (2) 一般不用于小數(shù),因?yàn)榻Y(jié)果不確定。 C. var+ +var +在前面,他比較自私,會(huì)自己先加,然后再賦值。 +在后面,他比較無私,先賦值,然后自己再加。(二) 關(guān)系運(yùn)算符(比較運(yùn)算符) = = = != !=(1)他運(yùn)算的結(jié)果都是布爾值(2)都是字符串的時(shí)候,他會(huì)先轉(zhuǎn)換成ASCII碼然后進(jìn)行比較他們的第一個(gè)字母。(3)都是數(shù)值的時(shí)候,他會(huì)正常比較(4)當(dāng)一個(gè)字符串,另一個(gè)是數(shù)值的時(shí)候,把字符串嘗試轉(zhuǎn)換成數(shù)值類型,然后進(jìn)行比較,如果不能轉(zhuǎn)換成數(shù)值類型,則會(huì)返回NaN,然后返回假(5) undefined null(6)如果兩個(gè)都是數(shù)值型字符串,那么他們也是只比較第一個(gè)(7)如果一個(gè)數(shù)值和布爾值進(jìn)行比較,會(huì)把布爾值轉(zhuǎn)換為數(shù)值再進(jìn)行比較,true為1,false為0 A. = 只比較值是否相等 (1) 比較字符串的時(shí)候是比較他們的ASCII碼是否相等 (2) 比較兩個(gè)數(shù)值的時(shí)候是比較他們的數(shù)值是否相等 (3) 比較函數(shù)的時(shí)候,判斷他們的位置是否相等。 B. = 不但比較值是否相等,還比較類型是否相等。 (三) 賦值運(yùn)算符 = += -= *= /= %= A. += var a=1; a+=3; a=a+3 (1) 用于數(shù)值的相加再賦值 (2) 用于字符串的連接再賦值 * 任何的數(shù)據(jù)類型和字符串相加都是等于相加以后的字符串 * (四) 邏輯運(yùn)算符(布爾運(yùn)算符) 與 and & 或 or | 非not ! A. & if(a & b) alert(兩個(gè)都是真的); else alert(至少有一個(gè)是假的) 運(yùn)算符兩邊只要有一個(gè)是假,那么他的運(yùn)算結(jié)果就是假,只有兩個(gè)都為真的時(shí)候,運(yùn)算結(jié)果 才是真的。 B.| if(a | b) alert(至少有一個(gè)是真的);else alert(兩個(gè)都是假的) 運(yùn)算符兩邊只要有一個(gè)是真的那么他就是真的,只有當(dāng)兩個(gè)都是假的時(shí)候,他才是假的。 C.not ! 取反,假的變成真的,真的變成假的。 (1)邏輯運(yùn)算符可以對(duì)任何類型的數(shù)據(jù)進(jìn)行運(yùn)算但是在運(yùn)算的時(shí)候,可以轉(zhuǎn)換為對(duì)應(yīng)的布爾值 Undefined false Null false Boolean 就是本身的值 Number 除了0以外都是真的 String 除了空字符串意外都是真的 對(duì)象 真的 (2)類變量進(jìn)行賦值 var a= b & c 如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是 Boolean 值,返回該對(duì)象。 如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第二個(gè)對(duì)象。 如果某個(gè)運(yùn)算數(shù)是 null,返回 null。 如果某個(gè)運(yùn)算數(shù)是 NaN,返回 NaN。 如果某個(gè)運(yùn)算數(shù)是 undefined,發(fā)生錯(cuò)誤。 var a=b |c 如果一個(gè)運(yùn)算數(shù)是對(duì)象,并且該對(duì)象左邊的運(yùn)算數(shù)值均為 false,則返回該對(duì)象。 如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第一個(gè)對(duì)象。 如果最后一個(gè)運(yùn)算數(shù)是 null,并且其他運(yùn)算數(shù)值均為 false,則返回 null。 如果最后一個(gè)運(yùn)算數(shù)是 NaN,并且其他運(yùn)算數(shù)值均為 false,則返回 NaN。 如果某個(gè)運(yùn)算數(shù)是 undefined,發(fā)生錯(cuò)誤。 (五) 一元運(yùn)算符 typeof + - delete new + - A. + 正號(hào)、正數(shù) B.delete 刪除對(duì)象的方法或是屬性 C.new 用來創(chuàng)建一個(gè)對(duì)象 (六) 特殊的運(yùn)算符 , () = ? : A. , 用來一次聲明多個(gè)變量 B.() (1) 運(yùn)算的時(shí)候有優(yōu)先級(jí)的作用 a*(b-c) (2) 運(yùn)行一段函數(shù) C.根據(jù)表達(dá)式的計(jì)算結(jié)果有條件的為變量賦值 格式: var 變量= Boolean expression?真值:假值 (七) 位運(yùn)算符DAY 07:javascript數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換一、轉(zhuǎn)換為數(shù)值類型 Number(參數(shù)) 把任何的類型轉(zhuǎn)換為數(shù)值類型 A.如果是布爾值,false為0,true為1 B.如果是數(shù)字,轉(zhuǎn)換成為本身。將無意義的后導(dǎo)0去掉。 C.如果Null轉(zhuǎn)換為0 D.如果是undefined 轉(zhuǎn)換為NaN not a number E.如果對(duì)象則會(huì)先調(diào)用對(duì)象的 valueOf(),如果valueOf()返回的是NaN,然后再調(diào)用對(duì)象的 toString() F.如果是字符串 1.如果字符串當(dāng)中只有數(shù)字,轉(zhuǎn)換為10進(jìn)制(忽略前導(dǎo)0和后導(dǎo)0) 2.如果是有效的規(guī)范的浮點(diǎn)型,轉(zhuǎn)換為浮點(diǎn)值(忽略前導(dǎo)0和后導(dǎo)0) 3.如果是空字符串,則轉(zhuǎn)換為0 4.如果是其他的值,返回NaN parseInt(參數(shù)1,參數(shù)2) 將字符串轉(zhuǎn)換為整數(shù) A.如果一個(gè)字符串只包含數(shù)字,則以10進(jìn)制的方式轉(zhuǎn)換為整型。 B.他會(huì)自動(dòng)忽略字符串前面的空格,知道找到第一個(gè)非空的數(shù)值字符串,直到解析到第一個(gè) 非數(shù)值的字符串結(jié)束。 C.如果字符串的第一個(gè)字符不是空格、數(shù)字、-,那么返回NaN D.參數(shù)1 八進(jìn)制 十進(jìn)制 十六進(jìn)制 0 后面的數(shù)字不能超過7 0x 0-9 a-f 參數(shù)2, 控制輸出模式 2-32 parseFloat() 將字符串轉(zhuǎn)換為浮點(diǎn)數(shù) A.字符串當(dāng)中的.只有第一個(gè)有效,其他的都是無效的。 B.如果字符串是一個(gè)有效的整數(shù),他返回的是整數(shù),不會(huì)返回浮點(diǎn)數(shù)。 二、轉(zhuǎn)換為字符串類型 1.String(參數(shù)) 可以將任何的類型轉(zhuǎn)換為字符串 null和undefined: 也都會(huì)轉(zhuǎn)換為字符串,分別是 null和undefined 布爾類型:會(huì)返回true 和false 數(shù)值類型:本身的字符串 2.toString() 調(diào)用的格式 對(duì)象.toString() 作用是將對(duì)象以字符串的方式來表示 array.toString() 由,分割的字符串 Boolean.toString() 兩個(gè)值 true false String.toString() 返回本身 Number.toString(參數(shù)) 返回本身的字符串形式 控制輸出模式 :2-32 注意:null和undefined沒有toString()方法三、轉(zhuǎn)換為布爾類型 Boolean() 可以將任何類型的值轉(zhuǎn)換為布爾值 轉(zhuǎn)換為假: 、 0、 NaN 、undefined、 false 其他的全部都轉(zhuǎn)換為真。DAY 08:javascript數(shù)據(jù)類型隱式轉(zhuǎn)換一、函數(shù)類 isNaN() 該函數(shù)會(huì)對(duì)參數(shù)進(jìn)行隱式的Number()轉(zhuǎn)換,如果轉(zhuǎn)換不成功則返回true; alert() 輸出的內(nèi)容隱式的轉(zhuǎn)換為字符串二、運(yùn)算符類 1.算數(shù)運(yùn)算符 - * / % 如果操作數(shù)不是數(shù)值,將會(huì)隱式的調(diào)用Number()函數(shù),按照這個(gè)函數(shù)的轉(zhuǎn)換規(guī)則進(jìn)行轉(zhuǎn)換, 如果轉(zhuǎn)換不成功,整個(gè)表達(dá)式返回NaN + 如果操作數(shù)都是數(shù)值,然后進(jìn)行相加 任何數(shù)據(jù)類型和字符串相加,都會(huì)隱私的調(diào)用他們的toString()方法,然后返回他們拼接的結(jié)果。 如果操作數(shù)都是布爾值,那么進(jìn)行Number()轉(zhuǎn)換,false為0,true為1,進(jìn)行相加。 2.關(guān)系運(yùn)算符 關(guān)系運(yùn)算符的操作數(shù)可以是任何類型,如果操作數(shù)不是數(shù)值類型,將會(huì)隱式的轉(zhuǎn)換 (1)他運(yùn)算的結(jié)果都是布爾值 (2)都是字符串的時(shí)候,他會(huì)先隱式轉(zhuǎn)換成ASCII碼然后進(jìn)行比較他們的第一個(gè)字母。 (3)都是數(shù)值的時(shí)候,他會(huì)正常比較 (4)當(dāng)一個(gè)字符串,另一個(gè)是數(shù)值的時(shí)候,把字符串嘗試轉(zhuǎn)換成Number()數(shù)值類型,然后進(jìn)行比較,如果不能轉(zhuǎn)換成數(shù)值類型,則會(huì)返回NaN,然后返回假 (5) undefined = null (6)如果兩個(gè)都是數(shù)值型字符串,那么他們隱式轉(zhuǎn)換成ASCII碼,也是只比較第一個(gè) (7)如果一個(gè)數(shù)值和布爾值進(jìn)行比較,會(huì)把布爾值隱式轉(zhuǎn)換為數(shù)值再進(jìn)行比較,true為1, false為 0 3.等性運(yùn)算符 = != 會(huì)對(duì)操作數(shù)隱式的轉(zhuǎn)換后再比較值 (1)如果其中至少有一個(gè)是布爾值,那么會(huì)隱式的調(diào)用Number()進(jìn)行轉(zhuǎn)換,然后比較。 (2)如果一個(gè)為字符串。另一個(gè)為數(shù)值,那么會(huì)隱式的調(diào)用Number()對(duì)字符串進(jìn)行轉(zhuǎn)換,如果轉(zhuǎn)換不成功,則返回false; (3) undefined = null (a) 比較字符串的時(shí)候是比較他們的ASCII碼是否相等 (b) 比較兩個(gè)數(shù)值的時(shí)候是比較他們的數(shù)值是否相等 (c) 比較函數(shù)的時(shí)候,判斷他們的位置是否相等。 4.邏輯運(yùn)算符 A. 放在表達(dá)式里面用于判斷。 B. 給變量賦值 var a= b & c 如果一個(gè)運(yùn)算數(shù)是對(duì)象,另一個(gè)是隱式的調(diào)用Boolean()函數(shù),返回該對(duì)象。 如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第二個(gè)對(duì)象。 如果某個(gè)運(yùn)算數(shù)是 null,返回 null。 如果某個(gè)運(yùn)算數(shù)是 NaN,返回 NaN。 如果某個(gè)運(yùn)算數(shù)是 undefined,發(fā)生錯(cuò)誤。 var a=b |c 如果一個(gè)運(yùn)算數(shù)是對(duì)象,并且該對(duì)象左邊的運(yùn)算數(shù)隱式的調(diào)用Boolean()函數(shù) 值為false,則返回該對(duì)象。 如果兩個(gè)運(yùn)算數(shù)都是對(duì)象,返回第一個(gè)對(duì)象。 如果最后一個(gè)運(yùn)算數(shù)是 null,并且其他運(yùn)算數(shù)值均為 false,則返回 null。 如果最后一個(gè)運(yùn)算數(shù)是 NaN,并且其他運(yùn)算數(shù)值均為 false,則返回 NaN。 如果某個(gè)運(yùn)算數(shù)是 undefined,發(fā)生錯(cuò)誤。三、語句類 if(表達(dá)式) else 格式: var 變量= Boolean expression?真值:假值 while() if語句和三元表達(dá)式里面的表達(dá)式會(huì)隱式的調(diào)用Boolean()函數(shù),按照這個(gè)函數(shù)的轉(zhuǎn)換規(guī)則,轉(zhuǎn)換 為相應(yīng)的布爾 值 DAY 09:javascript流程控制流程:就是程序代碼的執(zhí)行順序。流程控制:通過 規(guī)定的語句 讓程序代碼 有條件的 按照一定的方式 執(zhí)行。一、順序結(jié)構(gòu) 按照書寫順序來執(zhí)行,是程序中最基本的流程結(jié)構(gòu)。二、選擇結(jié)構(gòu)(分支結(jié)構(gòu)、條件結(jié)構(gòu)) 根據(jù)給定的條件有選擇的執(zhí)行形相應(yīng)的語句。 (1) if else if else 1.單路分支 /條件可以是表達(dá)式也可以是任何的數(shù)據(jù)類型 /大括號(hào)會(huì)把他里面的代碼當(dāng)作一個(gè)整體來運(yùn)行,如果只有一條語句,可以省略大括號(hào) if(條件) 條件成立執(zhí)行的語句 2.雙路分支 if(條件) 條件成立的時(shí)候執(zhí)行的代碼else 條件不成立的時(shí)候執(zhí)行的代碼 3.多路分支 if(條件1) 條件1成立執(zhí)行的代碼elseif(條件2) 條件2成立執(zhí)行的代碼elseif(條件3) 條件3成立執(zhí)行的代碼.else 如果上述條件都不成立執(zhí)行的代碼 4.嵌套分支 if(條件1) if()elseif().elseif(條件2) 條件2成立執(zhí)行的代碼elseif(條件3) 條件3成立執(zhí)行的代碼.else 如果上述條件都不成立執(zhí)行的代碼(2) switch(變量任何的數(shù)據(jù)類型) case 值1: 表達(dá)式1; break; case 值2: 表達(dá)式3; break; . defalut: 表達(dá)式 多個(gè)選擇進(jìn)行相應(yīng)的匹配 * 1.當(dāng)判斷某種范圍的時(shí)候最好用if語句,當(dāng)判斷單個(gè)值時(shí)候用switch 2.條件滿足的情況不可以重復(fù),會(huì)發(fā)生不可預(yù)期的錯(cuò)誤。 *三、循環(huán)結(jié)構(gòu)DAY 10:javascript流程控制-循環(huán)結(jié)構(gòu)在給定的條件滿足的情況下,反復(fù)的執(zhí)行同一段代碼。1.for for(變量=初始值;變量=結(jié)束值;變化值) 循環(huán)體 2.while 當(dāng)條件滿足的時(shí)候,執(zhí)行循環(huán)體,當(dāng)不滿足的時(shí)候退出循環(huán) while(表達(dá)式) 循環(huán)體 3.do while(表達(dá)式) 先最少執(zhí)行一次,再進(jìn)行條件的判斷,如果條件滿足繼續(xù)執(zhí)行,如果不滿足則退出循環(huán)。*1.dowhile 和while的區(qū)別 while:當(dāng)條件滿足的時(shí)候,執(zhí)行循環(huán)體,當(dāng)不滿足的時(shí)候退出循環(huán),先判斷后執(zhí)行。 dowhile:先最少執(zhí)行一次,再進(jìn)行條件的判斷,如果條件滿足繼續(xù)執(zhí)行,如果不滿足則退出循環(huán)。2.for 和while的區(qū)別 for一般是用于循環(huán)指定的次數(shù) while是根據(jù)條件的真假來循環(huán),當(dāng)真的時(shí)候進(jìn)行循環(huán),假的時(shí)候退出循環(huán)。*4. for inDAY 11:javascript流程控制-跳轉(zhuǎn)語句、with語句 一、跳轉(zhuǎn)語句 在循環(huán)控制語句中,當(dāng) 滿足指定條件 的時(shí)候,退出循環(huán) 或者是退出 當(dāng)前 循環(huán)的語句。 1.break; 格式:break; 跳出并且終止循環(huán),如果后面有代碼,則繼續(xù)往下執(zhí)行。 2.continue; 格式:continue; 跳出并且終止當(dāng)前的循環(huán),如果下個(gè)值仍滿足循環(huán)條件,則繼續(xù)循環(huán)。 * break: A.switch,指的是當(dāng)滿足某個(gè)條件后,退出switch語句 B.用在循環(huán)語句當(dāng)中,跳出并且終止循環(huán),如果后面有代碼,則繼續(xù)往下執(zhí)行。 continue: A.只能用在循環(huán)語句當(dāng)中, 跳出并且終止當(dāng)前的循環(huán),如果下個(gè)值仍滿足循環(huán)條件,則繼續(xù) 循 環(huán)。 B.最好用適當(dāng)?shù)恼Z句代替continue *二、標(biāo)簽語句: 用來退出多層循環(huán) 格式: 標(biāo)簽名:語句; 注意:標(biāo)簽名只可以作用于break 或continue 三、 with() 用于設(shè)置代碼在對(duì)象中的作用域。*不建議使用。*DAY 12:javascript函數(shù)的聲明和調(diào)用 將完成某一特定功能的代碼集合起來,可以重復(fù)使用的代碼塊。一、函數(shù)的聲明方式(創(chuàng)建) A.基本語法 function 關(guān)鍵字 function 函數(shù)名(參數(shù)1,參數(shù)2.) 函數(shù)體 retrun /返回值 B.字面量定義的形式(匿名函數(shù)) var 變量=function (參數(shù)1,參數(shù)2.) 函數(shù)體 retrun /返回值 C.以對(duì)象的形式來聲明 new 關(guān)鍵字。 var 變量=new Function(參數(shù)1,參數(shù)2.,函數(shù)體);二、函數(shù)的調(diào)用方式: A.函數(shù)名() 、變量名(); B.(function () alert(后盾網(wǎng));)();三、兩種聲明方式的區(qū)別 1.如果兩個(gè)函數(shù)的命名相同,后面的將會(huì)覆蓋前面的函數(shù)。 2.以基本語法聲明的函數(shù),會(huì)在代碼運(yùn)行的時(shí)候,提前加載到內(nèi)存當(dāng)中,以供以后使用,但是以字面量形式命名的函數(shù),會(huì)在執(zhí)行到的時(shí)候,才進(jìn)行賦值。 3.在不同的塊中的函數(shù),使用和調(diào)用的時(shí)候,應(yīng)該先定義,后執(zhí)行。 DAY 13:javascript函數(shù)的參數(shù)和return語句一、參數(shù)(最多是25) 可以動(dòng)態(tài)的改變函數(shù)體內(nèi)對(duì)應(yīng)的變量的類型或值,使同一函數(shù)體得到不同的結(jié)果。 形參:在定義函數(shù)的時(shí)候,函數(shù)括號(hào)中定義的變量叫做形參。 實(shí)參:調(diào)用函數(shù)的時(shí)候,在括號(hào)中傳入的變量或值叫做實(shí)參。 1.參數(shù)的類型 可以是任何的數(shù)據(jù)類型 2.參數(shù)的個(gè)數(shù)(最多是25) A.實(shí)參和形參數(shù)量相等,一一對(duì)應(yīng)。 B.形參的數(shù)量多于實(shí)參 * 不會(huì)報(bào)錯(cuò),但是多出的參數(shù)他的值,會(huì)自動(dòng)賦值為undefined * C.實(shí)參的數(shù)量多于形參 * 不會(huì)報(bào)錯(cuò),但是要得到多出的實(shí)參的值,要用arguments對(duì)象 * 二、Arguments對(duì)象 每創(chuàng)建一個(gè)函數(shù),該函數(shù)就會(huì)隱式創(chuàng)建一個(gè)arguments對(duì)象,他包含有實(shí)際傳入?yún)?shù)的信息。 1.length 檢測(cè)實(shí)際傳入?yún)?shù)的個(gè)數(shù) 2.callee 對(duì)本身的調(diào)用 訪問傳入?yún)?shù)的具體的值。(下標(biāo))三、函數(shù)重載 同一個(gè)函數(shù)因?yàn)閰?shù)的類型或數(shù)量不同,可以對(duì)應(yīng)多個(gè)函數(shù)的實(shí)現(xiàn),每種實(shí)現(xiàn)對(duì)應(yīng)一個(gè)函數(shù)體。四、return 語句 一、停止并且跳出當(dāng)前的函數(shù) 1.在ruturn 語句后面的函數(shù)體內(nèi)所有內(nèi)容都不會(huì)輸出。 2.在函數(shù)體內(nèi)可以有多個(gè)return語句,但是只會(huì)執(zhí)行一個(gè)。(判斷語句) 二、給函數(shù)返回一個(gè)值 return 返回值; 1.返回值可以是任何的數(shù)據(jù)類型 2.只能返回一個(gè)返回值。 3.如果函數(shù)沒有返回值,那么這個(gè)函數(shù)的值就會(huì)自動(dòng)的賦值為undefinedDAY 14:javascript解析順序和變量作用域作用域:指的就是一段代碼的作用范圍。一、變量的作用域 1.全局變量 在代碼中任何地方都能夠訪問得到的變量,擁有全局的作用域。 A.最外層函數(shù)外面定義的變量。 B.沒有定義直接賦值的變量,擁有全局屬性。 2.局部變量 只能在固定的代碼片段(函數(shù)片段中)中訪問得到。 A.函數(shù)內(nèi)部定義的變量,就是局部變量。 B.參數(shù)也是局部變量。 * 可以提高程序的邏輯性和安全性,減少名字的沖突。 *二、javascript預(yù)解析順序 一、塊依次解析。 二、解析代碼運(yùn)行的環(huán)境。 三、對(duì)標(biāo)識(shí)符(關(guān)鍵字)(var function )進(jìn)行解析,解析到相應(yīng)的環(huán)境下 四、如果還有塊再按照上面的步驟依次解析三、名詞解釋 (1) 環(huán)境: 1.宿主環(huán)境 2.執(zhí)行環(huán)境 執(zhí)行的環(huán)境決定了變量和函數(shù)的訪問權(quán)限。 A.全局環(huán)境 B.函數(shù)環(huán)境 c.eval(); (2)作用域 一段代碼的作用范圍。 (3)作用域鏈 在一個(gè)執(zhí)行環(huán)境中有權(quán)訪問的變量和函數(shù)能夠有序有機(jī)的進(jìn)行訪問DAY 15:javascript回調(diào)函數(shù)、遞歸函數(shù)一、回調(diào)函數(shù) 通過函數(shù)的指針來調(diào)用函數(shù)。 (把一個(gè)函數(shù)的指針做為另一個(gè)函數(shù)的參數(shù),當(dāng)調(diào)用這個(gè)參數(shù)的時(shí)候,這個(gè)函數(shù)就叫做回調(diào)函數(shù)。) 1.通過指針來調(diào)用。 2.匿名方法 3.定義個(gè)調(diào)用同時(shí)進(jìn)行二、遞歸函數(shù) 在函數(shù)內(nèi)部直接或間接的調(diào)用自己。三、內(nèi)嵌函數(shù)(閉包)DAY 16:javascript 內(nèi)置頂層函數(shù)名詞解釋:1.函數(shù)2.內(nèi)置: ECMAscript 內(nèi)置函數(shù):ECMAscript 自帶的函數(shù) Number() 宿主函數(shù): BOM DOM alert() prompt() confirm(); /confirm() 彈出一個(gè)帶有確定和取消按鈕的一個(gè)對(duì)話框,確定返回真,取消返回假。3.頂層 字符串函數(shù):字符串.函數(shù)() 數(shù)組函數(shù) 頂層對(duì)象的函數(shù),可以作用于任何對(duì)象。內(nèi)置 頂層 函數(shù) 1.escape() 對(duì)字符串進(jìn)行編碼 2.unescape() 對(duì)編碼的字符串進(jìn)行解碼 3.Number() 轉(zhuǎn)換成數(shù)值類型 4.String() 轉(zhuǎn)換成字符串類型 5.Boolean() 轉(zhuǎn)換成布爾類型 6.parseInt() 將字符串轉(zhuǎn)換為整型 7.parseFloat() 轉(zhuǎn)換為小數(shù) 8.isNaN() 判斷一個(gè)數(shù)能否轉(zhuǎn)換為數(shù)值類型。 9.isFinite() 判斷一個(gè)數(shù)是否為有窮的數(shù)字。將不是有窮的數(shù)字或不能轉(zhuǎn)換為數(shù)值類型的數(shù)返回假 10.eval() 將 字符串 轉(zhuǎn)換成javascript命令執(zhí)行(必須符合javascript語法規(guī)范,否則會(huì)出錯(cuò))。 IE: eval() 在當(dāng)前作用域生效 window.eval() 在當(dāng)前作用域生效 execScript() FF(火狐瀏覽器): eval() 在當(dāng)前作用域生效 window.eval() 在全局生效DAY 17:javascript數(shù)組 數(shù)組是一個(gè)可以存儲(chǔ) 一組 或是 一系列 相關(guān)數(shù)據(jù) 的 容器。一、為什么要使用數(shù)組。 (1)為了解決大量相關(guān)數(shù)據(jù)的存儲(chǔ)和使用的問題。 (2)模擬真是的世界。二、如何創(chuàng)建數(shù)組 (1) 通過對(duì)象的方式來創(chuàng)建。 var a=new Array(); A.直接賦值 var a=new Array(元素1,元素2,元素3,元素4,.) * var a=new Array(數(shù)值) 如果只有一個(gè)元素,并且這個(gè)元素是數(shù)值類型的,那么他就是指定數(shù)組的長(zhǎng)度。 并且他的值都是undefined 數(shù)組的屬性:length屬性 * B.聲明以后再賦值 var a=new Array(); a0=1; a2=2; a0=3; (2)隱形聲明的方式 var a=; A.直接賦值: var a=1,2,3,4; B.聲明以后再賦值 var a=; a0=1; a1=2; a2=3; * javascript數(shù)組可以存儲(chǔ)任何類型的值。 *三、訪問數(shù)組的元素 通過數(shù)組的(中括號(hào))下標(biāo)訪問。 * 數(shù)組下標(biāo)從0開始,他的最大值,是length屬性-1 *四、遍歷數(shù)組的元素 (1) for 循環(huán) (2) while(); (3) for in 有兩個(gè)作用: 第一:用于數(shù)組的遍歷 第二:用于對(duì)象屬性的遍歷DAY 18:javascript數(shù)組(二) 數(shù)組的分類:1.下標(biāo)的類型 A.下標(biāo)是數(shù)字的類型的(索引數(shù)組) B.下標(biāo)是字符串類型的(關(guān)聯(lián)數(shù)組)2. 維度來分類 A.一維數(shù)組 B.二維數(shù)組 聲明二維數(shù)組: / var arr=1,2,3,4,5,6; / alert(arr11)注意:1.可以存儲(chǔ)任何類型的數(shù)據(jù)2.只支持一維數(shù)組。3.長(zhǎng)度可變。4.如果是索引數(shù)組,下標(biāo)始終從0開始,如果指定了長(zhǎng)度,但是沒有賦值,他的值就會(huì)自動(dòng)賦值為 undefined;DAY 19:javascript對(duì)象基礎(chǔ)一、名詞解釋: 1.基于對(duì)象 一切皆對(duì)象,以對(duì)象的概念來編程。 2.面向?qū)ο缶幊?oop Object oriented programming) A.對(duì)象 就是人們要研究的任何事物,不僅能表示具體事物,還能表示抽象的規(guī)則,計(jì)劃或事件。屬性的無序集合,每個(gè)屬性可以存一個(gè)值(原始值,對(duì)象,函數(shù)) B.對(duì)象的屬性和行為 屬性:用數(shù)據(jù)值來描述他的狀態(tài) 行為:用來改變對(duì)象行為的方法 C.類 具有相同或相似的性質(zhì)的對(duì)象的抽象就是類。對(duì)象的抽象,就是類,類的具體化(實(shí)例化) 就叫做對(duì)象二、創(chuàng)建對(duì)象 1.構(gòu)造函數(shù)方法: function fun1 () var obj=new fun1(); alert(typeof obj) 2.Object方法 var obj=new Object(); 3.json方法(javascript object notation) 原生格式 var obj=; alert(typeof obj);三、如何添加屬性和方法 如果屬性的值是函數(shù),我們叫做他是對(duì)象的方法,否則叫做是屬性。 1.構(gòu)造方法 A.聲明的時(shí)候添加 B.聲明以后再添加 2.json方法 A.聲明的時(shí)候添加 var obj=屬性名:屬性值,屬性名2:屬性值2,屬性名3:屬性值3,.; B.聲明以后再添加四、訪問對(duì)象的屬性和方法: 引用值.屬性 引用值.屬性();五、如何銷毀對(duì)象 javascript自己的垃圾回收機(jī)制,就是在對(duì)象沒有引用的時(shí)候釋放內(nèi)存(銷毀); 對(duì)象=null;六、如何刪除對(duì)象的屬性 delete DAY 20:javascript對(duì)象的遍歷、內(nèi)存分布和封裝特性一、javascript對(duì)象遍歷 1.javascript屬性訪問 對(duì)象.屬性 對(duì)象屬性 /字符串格式 2.javascript屬性遍歷 for in二、內(nèi)存分布三、對(duì)象的特性之封裝 把對(duì)象所有的組成部分組合起來,盡可能的隱藏對(duì)象的部分細(xì)節(jié),使其受到保護(hù)。只保留有限的接口和外部發(fā)生聯(lián)系。 一、工廠函數(shù) 二、構(gòu)造函數(shù) 三、prototype方法 四、混合方法DAY 21:javascript對(duì)象的繼承和Object對(duì)象 對(duì)象的一個(gè)類可以從現(xiàn)有的類中派生,并且擁有現(xiàn)有的類的方法或是屬性,這和過程叫做繼承。被繼承的類叫做父類或是基類,繼承的類叫做子類。 (一個(gè)對(duì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年食品加工機(jī)械項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 教學(xué)設(shè)計(jì)教案課件
- 王老師教學(xué)初中英語課件
- 教學(xué)課件音標(biāo)
- 制圖課教學(xué)課件
- 橫書法教學(xué)課件
- 漫畫教學(xué)課件下載
- 教育技術(shù)課件封面設(shè)計(jì)
- 新公司團(tuán)隊(duì)活動(dòng)方案
- 春日賞花團(tuán)建活動(dòng)方案
- 福建省旋挖成孔灌注樁技術(shù)規(guī)程
- DL∕T 1057-2023 自動(dòng)跟蹤補(bǔ)償消弧線圈成套裝置技術(shù)條件
- 北京2024年北京市公安局人工智能安全研究中心招聘筆試歷年典型考題及考點(diǎn)附答案解析
- 氣體分析儀檢定規(guī)程
- 2024-2029年吞咽困難飲食增稠劑行業(yè)市場(chǎng)現(xiàn)狀供需分析及市場(chǎng)深度研究發(fā)展前景及規(guī)劃投資研究報(bào)告
- DZ/T 0430-2023 固體礦產(chǎn)資源儲(chǔ)量核實(shí)報(bào)告編寫規(guī)范(正式版)
- 小學(xué)數(shù)學(xué)研究專題
- HYT 104-2008 陶瓷微孔濾膜組件
- 2021年電梯檢驗(yàn)員理論考試題庫
- 《太陽能發(fā)電》課件
- 《原發(fā)性高血壓》課件
評(píng)論
0/150
提交評(píng)論