国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

每天學(xué)習(xí)一點(diǎn)js

philadelphia / 1246人閱讀

摘要:變量提升表示的是變量的聲明會(huì)被提前到函數(shù)頂部的地方,而賦值語(yǔ)句不會(huì)提升。需要記住一點(diǎn)就是,在中,函數(shù)聲明的優(yōu)先級(jí)高于變量聲明的優(yōu)先級(jí)。因?yàn)橘x值語(yǔ)句不會(huì)被覆蓋,所以會(huì)是一個(gè)數(shù)字,而不是函數(shù),最終返回。

---- 有人會(huì)說(shuō)js很簡(jiǎn)單,很容易學(xué),但是要想把這門語(yǔ)言用活,用精通還是需要下很大的功夫的。那么我們就來(lái)看看接下來(lái)這幾道js面試題吧。

題1

if(!(a in window)){
   var a  = 1;    
}
console.log(a);

在控制臺(tái)輸出的結(jié)果是 undefined,其實(shí)就是考察js中變量提升的知識(shí)點(diǎn)。

變量提升表示的是變量的聲明會(huì)被提前到函數(shù)頂部的地方,而賦值語(yǔ)句不會(huì)提升。因此上面的題目實(shí)際是等于如下代碼    

//變量提升

var a;
if(!(a in window)){
     a = 1;      
}
console.log(a) 

 
變量a提升到頂部,第一句就相當(dāng)于window.a = undefined,所以在if語(yǔ)句中,判斷條件始終是false,因此a=1不會(huì)執(zhí)行,最終輸出undefined。

題2

var a = 1,
        b = function(){
            x && a(--x);
        }    
console.log(a);

結(jié)果是1.

這道題考察的知識(shí)點(diǎn)是是具名函數(shù)表達(dá)式,聲名函數(shù)表達(dá)式是不攢在變量提升的,所以函數(shù)的定義不會(huì)被提前到頂部;而且聲名函數(shù)表達(dá)式的名字在外部訪問(wèn)時(shí)會(huì)報(bào)錯(cuò),只能函數(shù)內(nèi)部訪問(wèn)到。我們可以看看下面的例子。

var b = function a () {}
b(); //調(diào)用正常
a();//typeError:a is not a function

題3

function a(x){
    return x*2;
}
var a ;
console.log(typeof a);

結(jié)果為 function

這道題目是的知識(shí)點(diǎn)是 函數(shù)聲明和變量聲明。 需要記住一點(diǎn)就是,在JavaScript中,函數(shù)聲明的優(yōu)先級(jí)高于變量聲明的優(yōu)先級(jí)。

因此在上述題中,由于優(yōu)先級(jí)的問(wèn)題,a會(huì)被定義為一個(gè)函數(shù),后面定義的變量不會(huì)生效,因此typeof的時(shí)候會(huì)返回function。

但是,需要注意的是,雖然函數(shù)聲明會(huì)覆蓋變量聲明,但不會(huì)覆蓋變量的賦值,我們將上面的代碼該下,就會(huì)發(fā)現(xiàn)這個(gè)特點(diǎn)。

function a(x){
  return x*2;
}
var a = 1;
console.log(typeof a);

上面的代碼會(huì)返回number。因?yàn)橘x值語(yǔ)句a= 1不會(huì)被覆蓋,所以a會(huì)是一個(gè)數(shù)字,而不是函數(shù),最終返回number。

題4

function b(x,y,a){
    arguments[2] = 10;
    console.log(a);  
}
b(1,2,3);

最終輸出的結(jié)果是10

但是,需要注意一種特殊情況,那就是嚴(yán)格模式,在嚴(yán)格模式下,arguments對(duì)象實(shí)際是函數(shù)參數(shù)的一個(gè)拷貝,實(shí)際指向的是不同的內(nèi)存空間,對(duì)arguments值的改變并不會(huì)影響到函數(shù)參數(shù)值。

所以在嚴(yán)格模式下輸出的是3

function a(){
   console.log(this);
}
a.call(null);

輸出的結(jié)果是window對(duì)象。

這道題目考察的call方法,在js中,如果給call方法傳遞的第一個(gè)參數(shù)為null或者undefined,那么call方法中this會(huì)指向全局對(duì)象。

在瀏覽器環(huán)境中,全局對(duì)象為window;而在nodejs環(huán)境中全局對(duì)象為global,因此上述代碼如果在瀏覽器下運(yùn)行,會(huì)返回window。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/93768.html

相關(guān)文章

  • 前端面試每日3+1(周匯總2019.08.25)

    摘要:前端面試每日題,以面試題來(lái)驅(qū)動(dòng)學(xué)習(xí),每天進(jìn)步一點(diǎn)讓努力成為一種習(xí)慣,讓奮斗成為一種享受相信堅(jiān)持的力量項(xiàng)目地址前端面試每日推薦歡迎跟一起折騰前端,系統(tǒng)整理前端知識(shí),目前正在折騰,打算打通算法與數(shù)據(jù)結(jié)構(gòu)的任督二脈。 《論語(yǔ)》,曾子曰:吾日三省吾身(我每天多次反省自己)。 前端面試每日3+1題,以面試題來(lái)驅(qū)動(dòng)學(xué)習(xí),每天進(jìn)步一點(diǎn)! 讓努力成為一種習(xí)慣,讓奮斗成為一種享受!相信 堅(jiān)持 的力量...

    Java3y 評(píng)論0 收藏0
  • 前端面試每日3+1(周匯總2019.08.25)

    摘要:前端面試每日題,以面試題來(lái)驅(qū)動(dòng)學(xué)習(xí),每天進(jìn)步一點(diǎn)讓努力成為一種習(xí)慣,讓奮斗成為一種享受相信堅(jiān)持的力量項(xiàng)目地址前端面試每日推薦歡迎跟一起折騰前端,系統(tǒng)整理前端知識(shí),目前正在折騰,打算打通算法與數(shù)據(jù)結(jié)構(gòu)的任督二脈。 《論語(yǔ)》,曾子曰:吾日三省吾身(我每天多次反省自己)。 前端面試每日3+1題,以面試題來(lái)驅(qū)動(dòng)學(xué)習(xí),每天進(jìn)步一點(diǎn)! 讓努力成為一種習(xí)慣,讓奮斗成為一種享受!相信 堅(jiān)持 的力量...

    付倫 評(píng)論0 收藏0
  • 前端面試每日 3+1 —— 第126天

    摘要:前端面試每日題,以面試題來(lái)驅(qū)動(dòng)學(xué)習(xí),每天進(jìn)步一點(diǎn)讓努力成為一種習(xí)慣,讓奮斗成為一種享受相信堅(jiān)持的力量學(xué)習(xí)不打烊,充電加油只為遇到更好的自己,天無(wú)節(jié)假日,每天早上點(diǎn)純手工發(fā)布面試題死磕自己,愉悅大家。 今天的知識(shí)點(diǎn) (2019.08.20) —— 第126天 [html] 請(qǐng)說(shuō)說(shuō)Canvas和SVG圖形的區(qū)別是什么? [css] 說(shuō)說(shuō)你對(duì)hasLayout的理解,觸發(fā)hasLayou...

    LMou 評(píng)論0 收藏0
  • 前端面試每日3+1——第116天

    摘要:前端面試每日題,以面試題來(lái)驅(qū)動(dòng)學(xué)習(xí),每天進(jìn)步一點(diǎn)讓努力成為一種習(xí)慣,讓奮斗成為一種享受相信堅(jiān)持的力量學(xué)習(xí)不打烊,充電加油只為遇到更好的自己,天無(wú)節(jié)假日,每天早上點(diǎn)純手工發(fā)布面試題死磕自己,愉悅大家。 今天的知識(shí)點(diǎn) (2019.08.10) —— 第116天 [html] 頁(yè)面布局中的結(jié)構(gòu)與表現(xiàn)分離,那么什么是結(jié)構(gòu)?什么是表現(xiàn)呢? [css] 怎么自定義鼠標(biāo)指針的圖案? [js] ...

    blankyao 評(píng)論0 收藏0
  • 前端面試每日 3+1 —— 第136天

    摘要:學(xué)習(xí)不打烊,充電加油只為遇到更好的自己,天無(wú)節(jié)假日,每天早上點(diǎn)純手工發(fā)布面試題死磕自己。希望大家在這浮夸的前端圈里,保持冷靜,堅(jiān)持每天花分鐘來(lái)學(xué)習(xí)與思考。 今天的知識(shí)點(diǎn) (2019.08.30) —— 第136天 [html] HTML5的服務(wù)器(server-sent event)發(fā)送事件有什么應(yīng)用場(chǎng)景? [css] 你有了解css計(jì)數(shù)器(序列數(shù)字字符自動(dòng)遞增)嗎?如何通過(guò)css...

    Jeff 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<