《JavaScript精粹》要點(diǎn)概括

語法

1鸯屿、命名:以英文字母(推薦)止潮、下劃線般哼、$開頭

對象

1、屬性名:包括空字符在內(nèi)的任意合法字符串(不強(qiáng)制要求引號引谆菡)但是‘first-name’是必須的蒸眠,這是因?yàn)闃?biāo)識符中(-)是不合法的,但允許下劃線
2杆融、原型:所有通過字面量創(chuàng)建的對象都連接到Object.prototype
3楞卡、對象屬性:typeof 操作符檢測屬性(包括原型屬性)類型;hasOwnProperty不會檢測原型鏈
4脾歇、for in / for
5蒋腮、delete 可刪除對象屬性,不觸及原型屬性

函數(shù)

1藕各、函數(shù)對象連接到Function.prototype(該原型對象本身也連接到Object.prototype)
2池摧、調(diào)用模式:方法調(diào)用模式、函數(shù)調(diào)用模式激况、構(gòu)造器調(diào)用模式和apply調(diào)用模式
3作彤、形參和實(shí)參個數(shù)不匹配時不會導(dǎo)致運(yùn)行錯誤(多的實(shí)參被忽略,少的實(shí)參用undefined)
4乌逐、方法調(diào)用:函數(shù)為對象的屬性時宦棺,成為方法,對象對這個函數(shù)的調(diào)用成為方法調(diào)用黔帕,this指向調(diào)用該函數(shù)的對象
5代咸、函數(shù)調(diào)用:當(dāng)函數(shù)不是對象的一個屬性時,被當(dāng)做函數(shù)調(diào)用成黄,this綁定到全局呐芥,在瀏覽器中為window
6、構(gòu)造器調(diào)用:使用new 操作符創(chuàng)建對象奋岁,函數(shù)中的this指向創(chuàng)建的對象
7思瘟、apply調(diào)用:第一個參數(shù)為函數(shù)應(yīng)用對象,第二個參數(shù)為數(shù)組
8闻伶、arguments:不是數(shù)組而是‘類數(shù)組’的對象滨攻,沒有任何數(shù)組方法,但可借助Array.prototype.slice.apply(null,arguments)語句返回一個數(shù)組
9蓝翰、給原型添加函數(shù)光绕,擴(kuò)充類型的功能
10、遞歸:漢諾塔畜份,階乘等
11诞帐、作用域:不存在塊級作用域,最好在函數(shù)體的頂部聲明可能用到的所有變量
12爆雹、閉包:按鈕監(jiān)聽事例
13停蕉、回調(diào)函數(shù):異步操作
14愕鼓、模塊:模塊是一個提供接口卻隱藏狀態(tài)與實(shí)現(xiàn)的函數(shù)或?qū)ο螅瑥亩帘稳肿兞康氖褂?br> 15慧起、級聯(lián):有些用來修改屬性值的方法不返回任何值菇晃,如果返回this,則可以使用級聯(lián)的形式來調(diào)用所在對象的其方法(每個方法只實(shí)現(xiàn)一種功能蚓挤,優(yōu)化代碼)
16磺送、柯里化:
17、記憶:緩存已計算過的結(jié)果屈尼,減少計算次數(shù)

繼承

在基于類的語言中册着,對象是類的事例,并且類可以從另一個類繼承脾歧。JavaScript是基于原型的語言甲捏,意味著對象直接從其他對象繼承
1、偽類:函數(shù)對象被創(chuàng)建時鞭执,F(xiàn)unction構(gòu)造器產(chǎn)生的函數(shù)對象運(yùn)行類似這樣的代碼:
this.prototype={constructor:this};
2司顿、原型:SubObj.prototype=new SuperObj()
3、函數(shù)化

數(shù)組

1兄纺、刪除:因?yàn)閿?shù)組也是對象大溜,可用delete操作符,但需要注意的是估脆,只是刪除了值(變?yōu)閡ndefined)钦奋,其位置依然保留「碓可使用splice()
2付材、枚舉:盡量避免for in(順序不一定按期望順序)

正則表達(dá)式

方法

1、Array

array.concat() //返回新的數(shù)組圃阳,不影響原數(shù)組
array.join() //返回字符串厌衔,不影響原數(shù)組
array.push() //添加元素到數(shù)組最后
array.pop() //刪除數(shù)組最后一個元素
array.unshift() //添加元素到數(shù)組最前面
array.shift() //刪除數(shù)組第一個元素
array.reverse()//翻轉(zhuǎn)原數(shù)組,并返回翻轉(zhuǎn)后的數(shù)組
array.slice(start,end) //不影響原數(shù)組
array.splice()//增加捍岳、修改富寿、刪除元素,改變原數(shù)組
array.sort()//默認(rèn)為字典排序锣夹,改變原數(shù)組

2页徐、Function

function.apply()
function.call()

3、Number

number.toExpotential(arg) //用指數(shù)形式表示(科學(xué)計數(shù)法)晕城,參數(shù)表示小數(shù)點(diǎn)后的位數(shù)

(整數(shù)位只有1位)
number.toFixed(arg) //參數(shù)表示精度(小數(shù)點(diǎn)位數(shù))
number.toPrecesion(arg) //參數(shù)表示精度(總位數(shù))
number.toString(radix) //參數(shù)表示進(jìn)制數(shù)

以上方法均返回字符串泞坦,不影響原來的值

4、String

string.charAt(pos)
string.charCodeAt(pos)
string.concat(str)
string.indexOf(str,pos)
string.lastIndexOf(str,pos)
string.match(regexp)
string.replace(ser,replace)
string.search(regexp)
string.slice(start,end)
string.split(seperator,limit)//分割字符串砖顷,返回limit個元素的數(shù)組
string.substring()//等價于slice(),但不接受負(fù)參數(shù)贰锁,不推薦使用
string.toLowerCase()
string.toUperCase()
string.fromChartCode(charcode...)
string.localeCompare(that)

5、Object

object.hasOwnProperty()//原型中的屬性不會被檢查

毒瘤

1滤蝠、return {}豌熄;‘{’必須與return位于同一行
2、typeof null 返回‘Object’可通過 value&&typeof value===‘object’判斷對象
3物咳、pareInt(str锣险,radix):把字符串轉(zhuǎn)為整數(shù)(在遇到非數(shù)字時停止解析)
4、浮點(diǎn)型精度問題览闰,可通過乘一個數(shù)在除以這個數(shù)解決
5芯肤、typeof NaN //'number'
6、偽數(shù)組
7压鉴、假值:0崖咨,false,null油吭,‘ ’击蹲,undefined,NaN
8婉宰、對象永遠(yuǎn)不會是真的空對象(原型繼承)

糟粕

1歌豺、==
2、with
3心包、eval 傳遞字符串給JavaScript編譯器并執(zhí)行其結(jié)果
4类咧、缺少塊的語句
5、++ 蟹腾、--
6痕惋、位運(yùn)算符
7、void
JSON

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末血巍,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子述寡,更是在濱河造成了極大的恐慌鲫凶,老刑警劉巖衩辟,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艺晴,死亡現(xiàn)場離奇詭異掸屡,居然都是意外死亡仅财,警方通過查閱死者的電腦和手機(jī)碗淌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門亿眠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人荆烈,你說我怎么就攤上這事爹耗√妒蓿” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵鞋邑,是天一觀的道長枚碗。 經(jīng)常有香客問我铸本,道長,這世上最難降的妖魔是什么怨规? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任波丰,我火速辦了婚禮掰烟,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蝎亚。我一直安慰自己惧磺,他們只是感情好磨隘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布番捂。 她就那樣靜靜地躺著设预,像睡著了一般犁河。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上宾符,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天魏烫,我揣著相機(jī)與錄音肝箱,去河邊找鬼煌张。 笑死,一個胖子當(dāng)著我的面吹牛骏融,可吹牛的內(nèi)容都是我干的绎谦。 我是一名探鬼主播窃肠,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼碧囊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起天通,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤像寒,失蹤者是張志新(化名)和其女友劉穎诺祸,沒想到半個月后祭芦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體龟劲,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡昌跌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年避矢,在試婚紗的時候發(fā)現(xiàn)自己被綠了审胸。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡烫扼,死狀恐怖映企,靈堂內(nèi)的尸體忽然破棺而出静浴,到底是詐尸還是另有隱情,我是刑警寧澤双絮,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布囤攀,位于F島的核電站焚挠,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏榛泛。R本人自食惡果不足惜挟鸠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望硅急。 院中可真熱鬧营袜,春花似錦丑罪、人聲如沸吩屹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至辽故,卻和暖如春腐碱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背狰晚。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工壁晒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留秒咐,地道東北人携取。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓雷滋,卻偏偏與公主長得像晤斩,于是被迫代替她去往敵國和親姆坚。 傳聞我的和親對象是個殘疾皇子兼呵,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評論 2 355

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

  • 首發(fā)于:segmentfault《JavaScript語言精粹 修訂版》 讀書筆記 之前看到這篇文章维苔,前端網(wǎng)老姚淺...
    若川i閱讀 879評論 0 3
  • 第5章 引用類型 引用類型的值(對象)是引用類型的一個示例。在ECMAScript 中忍法,引用類型是一種數(shù)據(jù)結(jié)構(gòu)饿序,用...
    力氣強(qiáng)閱讀 718評論 0 0
  • 3. 標(biāo)準(zhǔn)庫 3.1Object對象 3.1.1概述 js提供一個Object對象乱凿,所有其他對象都繼承自它徒蟆。Obj...
    暗夜的怒吼閱讀 604評論 0 3
  • 美國歷史上最偉大的辯護(hù)律師Clarence Darrow曾經(jīng)說過這么一句話:不是最強(qiáng)者生存全蝶,也不是最聰明者生存寺枉,而...
    keling閱讀 404評論 0 1
  • 前段時間疏唾,跟幾個朋友閑聊槐脏,談到了愛情顿天,也許牌废,我們的年齡理應(yīng)該涉及到婚姻啤握,可我們都單上了,很多人都說我們眼光高懂从,其實(shí)...
    柚寶媽咪閱讀 370評論 0 1