JavaScript語(yǔ)言精髓與編程實(shí)踐筆記(2)

語(yǔ)法綜述:

  1. 位運(yùn)算中,JS會(huì)強(qiáng)制將運(yùn)算目標(biāo)轉(zhuǎn)換成有符號(hào)的32位整數(shù)
  2. 引用類(lèi)型的比較,如果不是同一個(gè)變量或其引用,則兩個(gè)變量既不全等也不相等
  3. 比較只有兩個(gè)元算元都是字符串時(shí),才使用字符串序列檢測(cè),任意一個(gè)運(yùn)算元為非字符串時(shí),都將按照值進(jìn)行比較。
  4. 賦值是運(yùn)算而不是語(yǔ)句。
  5. 字符串限制(不可變性):
  • 不能直接修改字符串的字符
  • 字符串的連接必然導(dǎo)致寫(xiě)復(fù)制,這將產(chǎn)生新的字符串
  • 不能修改字符串的長(zhǎng)度,如:修改length無(wú)效
  1. 語(yǔ)句存在返回值
  2. 表達(dá)式概念:由運(yùn)算數(shù)和操作符構(gòu)成,并產(chǎn)生結(jié)果的語(yǔ)法結(jié)構(gòu)
    JS 規(guī)則:
  • 程序是由語(yǔ)句構(gòu)成的。
  • 空語(yǔ)句,變量聲明,函數(shù)聲明以及控制子句都不會(huì)產(chǎn)生返回值
  • 換行符和文本結(jié)束符前可以沒(méi)有';'
  1. 復(fù)制表達(dá)式具有聲明隱士變量的效果
  2. 標(biāo)簽可以與變量重名而互不影響,因?yàn)樗橇硪华?dú)立的語(yǔ)法元素。
  3. break 子句不但可以作用與循環(huán)與條件分支內(nèi)部,也可以作用與標(biāo)簽化語(yǔ)句內(nèi)部
  4. JS中的數(shù)組,既是能以下標(biāo)索引的索引數(shù)組,又是一個(gè)可以存取屬性的關(guān)聯(lián)數(shù)組,因此for ... in 的屬性提取對(duì)數(shù)組有效
  5. JS 中任何類(lèi)型的值都能作為對(duì)象的屬性
  6. delete 無(wú)法刪除用var聲明的變量;直接繼承的原型鏈上的成員。刪除宿主成員的能力要看瀏覽器提供與否
  7. instanceof運(yùn)算符用來(lái)測(cè)試一個(gè)對(duì)象在其原型鏈中是否存在一個(gè)構(gòu)造函數(shù)的 prototype 屬性
  8. 用 in 能檢測(cè)到的屬性用for...in不一定能列舉;原型鏈成員能被for...in列舉,卻不能被propertyIsEnumerable()列舉(只檢測(cè)對(duì)象的非繼承屬性)。

二義性

  1. 如果+表達(dá)式中存在字符串,則優(yōu)先字符串連接
  2. 二義性中,語(yǔ)句優(yōu)先
  3. +,{},[],(),,,:皆存在二義性
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 標(biāo)簽: 我的筆記 ---學(xué)習(xí)資料:http://javascript.ruanyifeng.com/ 1. 導(dǎo)論 ...
    暗夜的怒吼閱讀 843評(píng)論 0 1
  • FreeCodeCamp - Basic JavaScript 寫(xiě)在前面: 我曾經(jīng)在進(jìn)谷前刷過(guò)這一套題,不過(guò)當(dāng)時(shí)只...
    付林恒閱讀 16,521評(píng)論 5 28
  • 沒(méi)想著出書(shū)沒(méi)想著寫(xiě)成大作是虛偽 可能只是不斷記錄一些零碎的想法 但是因?yàn)樘珣兴?越寫(xiě)越多也不知道怎么整理 改日空...
    ShAvIn閱讀 178評(píng)論 0 0
  • 編譯openssl確實(shí)是個(gè)技術(shù)活,不同的版本還不一樣,目前我使用的版本是1.0.0c下載地址到我的github: ...
    無(wú)盡思緒閱讀 642評(píng)論 0 0