JavaScript的21條基本知識(shí)點(diǎn)
更新時(shí)間:2014年03月04日 14:33:15 作者:
這篇文章主要介紹了JavaScript的21條基本知識(shí)點(diǎn)的相關(guān)資料,需要的朋友可以參考下
1.JavaScript大小寫敏感;
2.聲明變量如果不寫var,則為聲明了全局變量;任何不是方法的函數(shù),都是全局變量,其里面的this都指向window;
3.%運(yùn)算符,求余數(shù),保留整數(shù),y=5;x=y%2;則x=1;
4.如需把兩個(gè)或多個(gè)字符串變量連接起來,請(qǐng)使用 + 運(yùn)算符,區(qū)別于php;
5.三目運(yùn)算:greeting=(visitor==”PRES”)?”Dear President “:”Dear “;
6.indexOf()方法,從0算起,空格也算一位;
7.Math.floor()向下取整數(shù),返回的值小于或等于該數(shù),Math.floor(-5.9),返回-6;
8.函數(shù)內(nèi)部聲明變量的時(shí)候,一定要使用var命令。如果不用的話,你實(shí)際上聲明了一個(gè)全局變量!
9.寫demo時(shí),一定要將JS寫到最下面,防止因html元素未加載,導(dǎo)致JS代碼運(yùn)行不出來預(yù)計(jì)的效果(JS是解釋型語言,邊加載邊解釋,只有目標(biāo)對(duì)象被加載到DOM樹以后才能獲取和操作);
10.閉包的含義:閉包其實(shí)就是函數(shù)的嵌套,內(nèi)層的函數(shù)可以使用外層函數(shù)的所有變量,即使外層函數(shù)已經(jīng)執(zhí)行完畢(所以閉包會(huì)有性能問題,外層的變量在外層函數(shù)調(diào)用結(jié)束之后還一直存在在內(nèi)存中);
11.checkbox打鉤的值為check,不是true;取消的值為undefined,不是false;
12.判斷變量未定義用 typeof(flag)===”undefined”;
13.JS函數(shù)內(nèi)部可以訪問全局變量(或作函數(shù)外部變量),這點(diǎn)區(qū)別于PHP;
14.函數(shù)中的this,總是指向調(diào)用者,或者可以這樣說:不是方法的函數(shù),this都指向window;是方法的函數(shù)this指向?qū)ο蟊旧?要注意方法中的閉包問題,this是指向window的);
15.銷毀變量的方法:obj = null; delete obj;
16.直接判斷時(shí),以下會(huì)被轉(zhuǎn)換成false: undefined,null,0,-0,NaN,”"(空字符串);所有其他值,包括對(duì)象、數(shù)組都會(huì)轉(zhuǎn)換成true;
17.布爾值包含一個(gè)toString()方法,可以返回true或false的字符串;
18.可以說javascript只有6種數(shù)據(jù)類型,數(shù)字、字符串、布爾值、null、undefined和對(duì)象;
19.javascript中沒有塊級(jí)作用域,取而代之的是函數(shù)作用域(參見犀牛書第六版P57);
20.javascript的聲明提前特性:在函數(shù)里聲明的所有變量都被提前到函數(shù)的頂部(參見犀牛書第六版P58);
21.JS中函數(shù)的執(zhí)行都是異步的,要注意取值的問題
2.聲明變量如果不寫var,則為聲明了全局變量;任何不是方法的函數(shù),都是全局變量,其里面的this都指向window;
3.%運(yùn)算符,求余數(shù),保留整數(shù),y=5;x=y%2;則x=1;
4.如需把兩個(gè)或多個(gè)字符串變量連接起來,請(qǐng)使用 + 運(yùn)算符,區(qū)別于php;
5.三目運(yùn)算:greeting=(visitor==”PRES”)?”Dear President “:”Dear “;
6.indexOf()方法,從0算起,空格也算一位;
7.Math.floor()向下取整數(shù),返回的值小于或等于該數(shù),Math.floor(-5.9),返回-6;
8.函數(shù)內(nèi)部聲明變量的時(shí)候,一定要使用var命令。如果不用的話,你實(shí)際上聲明了一個(gè)全局變量!
9.寫demo時(shí),一定要將JS寫到最下面,防止因html元素未加載,導(dǎo)致JS代碼運(yùn)行不出來預(yù)計(jì)的效果(JS是解釋型語言,邊加載邊解釋,只有目標(biāo)對(duì)象被加載到DOM樹以后才能獲取和操作);
10.閉包的含義:閉包其實(shí)就是函數(shù)的嵌套,內(nèi)層的函數(shù)可以使用外層函數(shù)的所有變量,即使外層函數(shù)已經(jīng)執(zhí)行完畢(所以閉包會(huì)有性能問題,外層的變量在外層函數(shù)調(diào)用結(jié)束之后還一直存在在內(nèi)存中);
11.checkbox打鉤的值為check,不是true;取消的值為undefined,不是false;
12.判斷變量未定義用 typeof(flag)===”undefined”;
13.JS函數(shù)內(nèi)部可以訪問全局變量(或作函數(shù)外部變量),這點(diǎn)區(qū)別于PHP;
14.函數(shù)中的this,總是指向調(diào)用者,或者可以這樣說:不是方法的函數(shù),this都指向window;是方法的函數(shù)this指向?qū)ο蟊旧?要注意方法中的閉包問題,this是指向window的);
15.銷毀變量的方法:obj = null; delete obj;
16.直接判斷時(shí),以下會(huì)被轉(zhuǎn)換成false: undefined,null,0,-0,NaN,”"(空字符串);所有其他值,包括對(duì)象、數(shù)組都會(huì)轉(zhuǎn)換成true;
17.布爾值包含一個(gè)toString()方法,可以返回true或false的字符串;
18.可以說javascript只有6種數(shù)據(jù)類型,數(shù)字、字符串、布爾值、null、undefined和對(duì)象;
19.javascript中沒有塊級(jí)作用域,取而代之的是函數(shù)作用域(參見犀牛書第六版P57);
20.javascript的聲明提前特性:在函數(shù)里聲明的所有變量都被提前到函數(shù)的頂部(參見犀牛書第六版P58);
21.JS中函數(shù)的執(zhí)行都是異步的,要注意取值的問題
您可能感興趣的文章:
相關(guān)文章
Javascript學(xué)習(xí)筆記6 prototype的提出
所以你還會(huì)再說是否用prototype都是一樣的么?其實(shí)我以前也是這么理解的,在這次偶然的試驗(yàn)中看到了這個(gè)問題。2010-01-01
getElementById().innerHTML與getElementById().value的區(qū)別
這篇文章主要介紹了getElementById().innerHTML與getElementById().value的區(qū)別,因?yàn)榻?jīng)常有新手朋友問到,特整理一下,需要的朋友可以參考下2016-10-10
JavaScript簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
JavaScript是一種基于對(duì)象(Object)和事件驅(qū)動(dòng)(EventDriven)并具有安全性能的腳本語言,javascript的出現(xiàn)使得網(wǎng)頁和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的,動(dòng)態(tài)性的,交互性的關(guān)系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容2017-06-06
深入理解JavaScript系列(47):對(duì)象創(chuàng)建模式(上篇)
這篇文章主要介紹了深入理解JavaScript系列(47):對(duì)象創(chuàng)建模式(上篇),本文講解了命名空間、定義依賴、私有屬性和私有方法 、Revelation模式、鏈模式等內(nèi)容,需要的朋友可以參考下2015-03-03
JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之棧與隊(duì)列
在面向?qū)ο蟮某绦蛟O(shè)計(jì)里,一般都提供了實(shí)現(xiàn)隊(duì)列(queue)和堆棧(stack)的方法,而對(duì)于JS來說,我們可以實(shí)現(xiàn)數(shù)組的相關(guān)操作,來實(shí)現(xiàn)隊(duì)列和堆棧的功能,看下面的相關(guān)介紹.2016-01-01
JavaScript中的toLocaleLowerCase()方法使用詳解
這篇文章主要介紹了JavaScript中的toLocaleLowerCase()方法使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-06-06

