讀《不知道的js》中作用域,模擬引擎對話作用域

發(fā)文原由

身為剛接觸前端的小白,深知書本乃是人類進(jìn)步的階梯(作者開始裝x),秉承不能浪費大好青春的宗旨,在國慶假期為自己充充電(大神們別,別,有話好好說,先放下磚頭),遂鼓起勇氣拿起《你不知道的js》,當(dāng)看到書中對于一段對話的描述,感覺十分魔性與格外形象,興趣大增,所以想試著練習(xí)模仿,加深對知識的理解,廢話較多還是進(jìn)入正題吧

示例代碼:

eg:function foo (a){

var b = a;

return a + b;

}

var c = foo(2);

當(dāng)代碼執(zhí)行時可能會有這樣的對話:

引擎:作用域老哥,問你個事。

作用域:引擎老弟,啥事,盡管說。

引擎:我需要對c進(jìn)行LHS引用,你見過它嗎?

作用域:哦,這事啊,見過,剛剛編譯器老弟剛聲明了它,他是一個變量,拿去吧。

引擎:謝謝老哥,那我給他賦值,還有老哥,我要對foo進(jìn)行RHS引用。

作用域:這個也有的,我找找,喏,在這,是一個函數(shù),給你。

引擎:好嘞!太感謝了老哥,那我來執(zhí)行下foo。

作用域:那都不是事!看看還有嗎?我在幫你看看!

引擎:扎心了老鐵!還有還有,我要對a進(jìn)行LHS引用,幫我找找有它嗎?

作用域:稍等啊,有有,剛剛編譯器把他聲明為foo的形式參數(shù)了,給你。

引擎:好的,老哥我要以身相許!還有我要對b進(jìn)行LHS引用,你見過嗎?

作用域:、、、只要別以身相許都好說,b在、、、哦,在這,它是foo函數(shù)里的,一個變量,給你 ? ? ? ? ? ? ? ? 給你!

引擎:么么噠老哥!那這個a呢,我要對它進(jìn)行RHS引用,雖然有點印象,但是還是確認(rèn)下。

作用域:是的沒錯,還是那個a沒有動過,放心拿走用吧!

引擎:好的好的!老哥,最后一個問題,幫幫老弟,幫我我就是你的,我要分別對a b 進(jìn)行RHS引 ? ? ? ? ? ? 用,在幫老弟看看確認(rèn)下,拜托啦,萌萌噠!

作用域:(?Д?)ノ,有有有,都沒變過,你放心用吧!

引擎:都不知道怎么謝老哥了,今晚有空不,今晚、、、誒,別走啊老哥,明晚也行、、、

(純屬娛樂)

小結(jié):

雖然這些對于目前準(zhǔn)備工作的同學(xué)們并沒有什么卵用,但是大神曾經(jīng)說過,我也非常贊同的就是,一些原理性的根本性的知識,或許短期,或者在工作中根本不會有什么幫助,但是萬變不離其宗,再怎樣開枝散葉,根是不變的,我這人比較喜歡刨根問底,雖然知識差的很多,有些內(nèi)容刨深了,就會遇到超出自己理解能力范圍的內(nèi)容,如果大神網(wǎng)絡(luò)也解決不了,也會暫時記下,終要弄清楚的,同時第一次發(fā)文,胸?zé)o點墨,工筆較差,但我在努力,加油。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容