《JavaScript DOM 編程藝術(shù)》讀書筆記之JavaScript 語法
注釋
單行注釋://
多行注釋:/* */
"<!--"可以用作單行注釋,由于和HTML的"<!-- -->"多行注釋類似,容易混淆,所以不建議這種注釋方法
變量
在JavaScript 語言里,變量和其他語法元素的名字都是區(qū)分字母大小寫的。名字mood的變量與名字是Mood、MOOD或mOOd的變量沒有任何關(guān)系,它們不是同一個(gè)變量。
JavaScript 語法不允許變量名中包含空格或標(biāo)點(diǎn)符號(hào)("$"例外)。
JavaScript 變量名允許包含字母、數(shù)字、美元符號(hào)和下劃線(但第一個(gè)字符不允許是數(shù)字)。
另一種方式是使用駝峰格式,刪除中間的空白(下劃線),后面的每個(gè)新單詞改用大寫字母開頭:var myMood = "happy";
數(shù)據(jù)類型
字符串
字符串必須包括在引號(hào)中,單引號(hào)或雙引號(hào)都可以。你可以隨意選擇引號(hào),但最好是根據(jù)字符串所包含的字符來選擇。如果字符串包含雙引號(hào),就把整個(gè)字符串放在單引號(hào)里,反之亦然:
var mood = "don't ask";
如果想在上面這條語句中使用單引號(hào),就必須保證字母"n"和"t"之間的單引號(hào)能被當(dāng)成這個(gè)字符串的一部分。這種情況下我們需要對這個(gè)字符進(jìn)行轉(zhuǎn)義。在JavaScript里用反斜線對字符進(jìn)行轉(zhuǎn)義:
var mood = 'don\'t ask';
數(shù)組
關(guān)聯(lián)數(shù)組
傳統(tǒng)數(shù)組:每個(gè)元素的下標(biāo)是一個(gè)數(shù)字,每增加一個(gè)元素,這個(gè)數(shù)字就一次增加1。
如果在填充數(shù)組時(shí)只給出了元素的值,這個(gè)數(shù)組就將是一個(gè)傳統(tǒng)數(shù)組,它的各個(gè)元素的下標(biāo)將被自動(dòng)創(chuàng)建和刷新。
可以通過在填充數(shù)組時(shí)為每個(gè)新元素明確地給出下標(biāo)來改變這種默認(rèn)的行為。在為新元素給出下標(biāo)時(shí),不必局限于使用整數(shù)數(shù)字。你可以使用字符串:
var lemon = Array();
lemon["name"] = "John";
lemon["year"] = 1940;
lemon["living"] = false;
這樣的數(shù)組叫做關(guān)聯(lián)數(shù)組。由于可以使用字符串代替數(shù)字值,因而代碼更具有可讀性。但是,這種用法并不是一個(gè)好習(xí)慣,不推薦大家使用。本質(zhì)上,在創(chuàng)建關(guān)聯(lián)數(shù)組時(shí),你創(chuàng)建的是Array對象的屬性。在JavaScript 中,所有的變量實(shí)際上都是某種類型的對象。比如,一個(gè)布爾值就是一個(gè)Boolean類型的對象。在上面這個(gè)例子中,你實(shí)際上是給lemon數(shù)組添加了name、year和living三個(gè)屬性。在理想情況下,你不應(yīng)該修改Array對象的屬性,而應(yīng)該使用通用的對象(Object)。
對象
var lemon = Object();
lemon.name = "John";
lemon.year = 1940;
lemon.living = false;
lemon對象也可以寫成下面這樣:
var lemon = {name:"John", year:1940, living:false};
比較操作符
相等操作符==并不表示嚴(yán)格相等,這一點(diǎn)很容易讓人犯糊涂。例如,比較false與一個(gè)空字符串會(huì)得到什么結(jié)果?
var a = false;
var b = "";
if(a == b){
alert("a equals b");
}
這個(gè)條件語句的求值結(jié)果是true,為什么?因?yàn)橄嗟炔僮鞣?=認(rèn)為空字符串與false的含義相同。要進(jìn)行嚴(yán)格比較,就要使用另一種等號(hào)(===)。這個(gè)全等操作符會(huì)執(zhí)行嚴(yán)格的比較,不僅比較值,而且會(huì)比較變量的類型。
當(dāng)然,對于不等操作符!=也是如此。如果想比較嚴(yán)格不相等,就要使用!==。
相關(guān)文章
表格單元格交錯(cuò)著色實(shí)現(xiàn)思路及代碼
重點(diǎn)在于:以空間換時(shí)間,循環(huán)確定所著顏色;base確定起始顏色,i確定本次需要著色的單元格,感興趣的朋友可以參考下哈2013-04-04
前端實(shí)現(xiàn)電子簽名(web、移動(dòng)端)通用的實(shí)戰(zhàn)過程
電子簽名通俗來說就是通過技術(shù)手段實(shí)現(xiàn)在電子文檔上加載電子形式的簽名,下面這篇文章主要給大家介紹了關(guān)于前端實(shí)現(xiàn)電子簽名(web、移動(dòng)端)通用的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-12-12
webpack的 rquire.context用法實(shí)現(xiàn)工程自動(dòng)化的方法
這篇文章主要介紹了webpack的 rquire.context用法實(shí)現(xiàn)工程自動(dòng)化的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
three.js實(shí)現(xiàn)炫酷的全景3D重力感應(yīng)
這篇文章主要為大家詳細(xì)介紹了three.js實(shí)現(xiàn)炫酷的全景3D重力感應(yīng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12
用DIV完美模擬createPopup 彈出窗口(腳本之家修正版),支持Firefox,ie,chrome
最近要重構(gòu)公司的一個(gè)站,有一個(gè)拾色器只支持IE,不支持FIREFOX CHROME等瀏覽器,花了點(diǎn)時(shí)間對照原來的重寫了個(gè)。完美實(shí)現(xiàn)createPopup方法的彈窗效果,歡迎大家拍磚!2009-09-09
JS實(shí)現(xiàn)獲取毫秒值及轉(zhuǎn)換成年月日時(shí)分秒的方法
這篇文章主要介紹了JS實(shí)現(xiàn)獲取毫秒值及轉(zhuǎn)換成年月日時(shí)分秒的方法,結(jié)合實(shí)例形式分析了javascript常見的Date()日期時(shí)間獲取、轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2018-08-08

