摘要:多個(gè)等號連續(xù)賦值第一次理解的時(shí)候,以為是連續(xù)賦值的問題。則是直接聲明為了全局變量。這是因?yàn)槟J(rèn)附加到了全局對象上。以上是常見的題目來考察的細(xì)節(jié)問題,我會不定期的收集,來進(jìn)行更新,歡迎互相指教
1. 多個(gè)等號連續(xù)賦值
(function(){ var x=y=1; })(); console.log(typeof x); console.log(typeof y);
第一次理解的時(shí)候,以為是連續(xù)賦值的問題。但是實(shí)際上這不是重點(diǎn),重點(diǎn)在于函數(shù)中x,y都存在,但是在輸出的時(shí)候,x是函數(shù)內(nèi)變量,在函數(shù)外無法讀取。y則是直接聲明為了全局變量。故。第一個(gè)輸出為undefine。第二個(gè)輸出為number。
要理解這段代碼可以試著敲入
(function(){ y=1; })(); console.log(typeof y);
會發(fā)現(xiàn),并沒有給y使用聲明變量的var,但是這段代碼可以運(yùn)行,輸出為number。這是因?yàn)閥默認(rèn)附加到了全局對象上。多個(gè)等號連續(xù)賦值的時(shí)候,var聲明的效果僅局限于最開始的那一個(gè)變量。
2. prototype相關(guān)、原型鏈
var fn=function(){} fn.prototype={ value:1, getValue:function(){ return this.value; }, setValue:function(v){ this.value=v; } }; var a=new fn(); var b=new fn(); a.setValue(2); console.log(b.getValue()); delete a.value; console.log(a.getValue());
這段代碼的輸出是1,1。我來根據(jù)步驟,解釋下原因。
1.程序聲明了變量a,b和函數(shù)fn。a,b此時(shí)為undefined,fn為一段函數(shù)代碼。 2.為fn的prototype屬性賦值一個(gè)對象object。其中包含了value,getValue,setValue. 3.a被賦值,a的__proto__指向的是fn的prototype,a并沒有value屬性 4.b被賦值,b的__proto__指向的是fn的prototype,b并沒有value屬性 5.a.setValue(2)為a增加了一個(gè)value屬性,該值為2. 6.b.getValue()時(shí),由于b并沒有value屬性,于是順著__proto__向上查找,找到的value為1。 7.同第6步,刪除了a中的value屬性時(shí),也是順著__proto__向上查找,找到的value為1。
以上是常見的題目來考察JS的細(xì)節(jié)問題,我會不定期的收集,來進(jìn)行更新,歡迎互相指教
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/85978.html
摘要:月下半旬攻略道題,目前已攻略題。目前簡單難度攻略已經(jīng)到題,所以后面會調(diào)整自己,在刷算法與數(shù)據(jù)結(jié)構(gòu)的同時(shí),攻略中等難度的題目。 Create by jsliang on 2019-07-30 16:15:37 Recently revised in 2019-07-30 17:04:20 7 月下半旬攻略 45 道題,目前已攻略 100 題。 一 目錄 不折騰的前端,和咸魚有什么區(qū)別...
摘要:詳細(xì)介紹將其他值轉(zhuǎn)成數(shù)字值。此方法更改數(shù)組的長度。詳細(xì)介紹解題思路首先,將傳入的數(shù)字轉(zhuǎn)換成字符串,并分割成數(shù)組。本許可協(xié)議授權(quán)之外的使用權(quán)限可以從處獲得。 Create by jsliang on 2019-05-19 09:42:39 Recently revised in 2019-05-19 16:08:24 Hello 小伙伴們,如果覺得本文還不錯(cuò),記得給個(gè) star , 小伙伴們...
摘要:正式地講,提莫在發(fā)起發(fā)起攻擊意味著艾希在時(shí)間區(qū)間含和處于中毒狀態(tài)。示例輸入輸出解釋提莫攻擊對艾希的影響如下第秒,提莫攻擊艾希并使其立即中毒。第秒,提莫再次攻擊艾希,艾希中毒狀態(tài)又持續(xù)秒,即第秒和第秒。 ...
摘要:每天會折騰一道及以上題目,并將其解題思路記錄成文章,發(fā)布到和微信公眾號上。三匯總返回目錄在月日月日這半個(gè)月中,做了匯總了數(shù)組知識點(diǎn)。或者拉到本文最下面,添加的微信等會根據(jù)題解以及留言內(nèi)容,進(jìn)行補(bǔ)充,并添加上提供題解的小伙伴的昵稱和地址。 LeetCode 匯總 - 2019/08/15 Create by jsliang on 2019-08-12 19:39:34 Recently...
摘要:微信公眾號記錄截圖記錄截圖目前關(guān)于這塊算法與數(shù)據(jù)結(jié)構(gòu)的安排前。已攻略返回目錄目前已攻略篇文章。會根據(jù)題解以及留言內(nèi)容,進(jìn)行補(bǔ)充,并添加上提供題解的小伙伴的昵稱和地址。本許可協(xié)議授權(quán)之外的使用權(quán)限可以從處獲得。 Create by jsliang on 2019-07-15 11:54:45 Recently revised in 2019-07-15 15:25:25 一 目錄 不...
閱讀 1418·2021-09-22 15:52
閱讀 1458·2019-08-30 15:44
閱讀 895·2019-08-30 14:24
閱讀 2705·2019-08-30 13:06
閱讀 2700·2019-08-26 13:45
閱讀 2782·2019-08-26 13:43
閱讀 1014·2019-08-26 12:01
閱讀 1436·2019-08-26 11:56