JS的一些高級特性,比如作用域鏈,內(nèi)存空間,閉包等等可以參考什么語言來理解?
因為我了解JS的原型繼承在設(shè)計的時候有參考IO這門語言,IO是一門,個人覺得是比JS好理解好多的語言,因為它太簡單了。我參考著IO來理解JS的原型繼承,原型鏈和對象方面的內(nèi)容的話,發(fā)現(xiàn)理解的更好,更深刻。雖然JS的其他特性網(wǎng)上有很多的文章來解答,但是發(fā)現(xiàn)總是有點深奧,所以希望有人可以推薦下和它類似的語言,但是比較好理解的,然后我去參考著理解。
之前在簡書上看到一個系列講解js的文章,說的非常詳細,但是發(fā)現(xiàn)他講的內(nèi)存空間等等內(nèi)容我還是不能很好的理解,自己的水平有限,求推薦?
內(nèi)存不用太糾結(jié),不同的引擎實現(xiàn)有可能不同,重點是關(guān)心常用的數(shù)據(jù)結(jié)構(gòu)就好,JS 里最常用的無非也就是數(shù)組(功能兼容數(shù)組、列表、隊列、棧)和對象(功能兼容字符串鍵的Hash表)。
作用域鏈可以簡單的理解,哪寫的代碼就在其所在的 function 函數(shù)體有效(var),而后來的 const 和 let 是塊級作用域,即在最近的 {} 內(nèi)有效,注意一下函數(shù)申請和變量申明提升的問題,關(guān)于這個可以參考 C# 或 Java,都差不多。
只要函數(shù)是一等公民的語言(即函數(shù)可以當(dāng)作引用來傳遞),基本上都存在閉包。閉包同樣遵循上面的原則,寫代碼的時候,它是在哪個作用域內(nèi),運行的時候它就可以訪問哪個作用域內(nèi)的變量。只是在 this 這個問題上要麻煩一點,可以參考:JavaScript 的 this 批向問題深度解析
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。