欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

好程序員Java教程分享JavaScript常見面試題五-創(chuàng)新互聯(lián)

好程序員Java教程分享JavaScript常見面試題五

創(chuàng)新互聯(lián)建站是一家專注于成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營銷網(wǎng)站建設(shè)服務(wù)器托管的網(wǎng)絡(luò)公司,有著豐富的建站經(jīng)驗和案例。

1、以下代碼行將輸出什么到控制臺?

console.log("0||1="+(0||1));console.log("1||2="+(1||2));console.log("0&&1="+(0&&1));console.log("1&&2="+(1&&2));

并解釋。

該代碼將輸出:

0||1=11||2=10&&1=01&&2=2

在JavaScript中,||和&&都是邏輯運(yùn)算符,用于在從左至右計算時,返回第一個可完全確定的“邏輯值”。

或(||)運(yùn)算符。在形如X||Y的表達(dá)式中,首先計算X并將其解釋執(zhí)行為一個布爾值。如果這個布爾值true,那么返回true(1),不再計算Y,因為“或”的條件已經(jīng)滿足。如果這個布爾值為false,那么我們?nèi)匀徊荒苤繶||Y是真是假,直到我們計算Y,并且也把它解釋執(zhí)行為一個布爾值。

因此,0||1的計算結(jié)果為true(1),同理計算1||2。

與(&&)運(yùn)算符。在形如X&&Y的表達(dá)式中,首先計算X并將其解釋執(zhí)行為一個布爾值。如果這個布爾值為false,那么返回false(0),不再計算Y,因為“與”的條件已經(jīng)失敗。如果這個布爾值為true,但是,我們?nèi)匀徊恢繶&&Y是真是假,直到我們?nèi)ビ嬎鉟,并且也把它解釋執(zhí)行為一個布爾值。

不過,關(guān)于&&運(yùn)算符有趣的地方在于,當(dāng)一個表達(dá)式計算為“true”的時候,那么就返回表達(dá)式本身。這很好,雖然它在邏輯表達(dá)式方面計算為“真”,但如果你希望的話也可用于返回該值。這就解釋了為什么,有些令人奇怪的是,1&&2返回2(而不是你以為的可能返回true或1)。

2、執(zhí)行下面的代碼時將輸出什么?請解釋。

console.log(false=='0')console.log(false==='0')

代碼將輸出:

truefalse

在JavaScript中,有兩種等式運(yùn)算符。三個等于運(yùn)算符===的作用類似傳統(tǒng)的等于運(yùn)算符:如果兩側(cè)的表達(dá)式有著相同的類型和相同的值,那么計算結(jié)果為true。而雙等于運(yùn)算符,會只強(qiáng)制比較它們的值。因此,總體上而言,使用===而不是==的做法更好。!==vs!=亦是同理。

3、以下代碼將輸出什么?并解釋你的答案。

vara={},

b={key:'b'},c={key:'c'};

a=123;

a[c]=456;

console.log(a);

這段代碼將輸出456(而不是123)。

原因為:當(dāng)設(shè)置對象屬性時,JavaScript會暗中字符串化參數(shù)值。在這種情況下,由于b和c都是對象,因此它們都將被轉(zhuǎn)換為"[objectObject]"。結(jié)果就是,a和a[c]均相當(dāng)于a["[objectObject]"],并可以互換使用。因此,設(shè)置或引用a[c]和設(shè)置或引用a完全相同。

4、以下代碼行將輸出什么到控制臺?

console.log((functionf(n){return((n>1)?n*f(n-1):n)})(10));

并解釋你的答案。

代碼將輸出10!的值(即10!或3628800)。

原因是:

命名函數(shù)f()遞歸地調(diào)用本身,當(dāng)調(diào)用f(1)的時候,只簡單地返回1。下面就是它的調(diào)用過程:

f(1):returnsn,whichis1f(2):returns2*f(1),whichis2f(3):returns3*f(2),whichis6f(4):returns4*f(3),whichis24f(5):returns5*f(4),whichis120f(6):returns6*f(5),whichis720f(7):returns7*f(6),whichis5040f(8):returns8*f(7),whichis40320f(9):returns9*f(8),whichis362880f(10):returns10*f(9),whichis3628800

5、請看下面的代碼段。控制臺將輸出什么,為什么?

(function(x){return(function(y){console.log(x);

})(2)

})(1);

控制臺將輸出1,即使從來沒有在函數(shù)內(nèi)部設(shè)置過x的值。原因是:

閉包是一個函數(shù),連同在閉包創(chuàng)建的時候,其范圍內(nèi)的所有變量或函數(shù)一起。在JavaScript中,閉包是作為一個“內(nèi)部函數(shù)”實(shí)施的:即,另一個函數(shù)主體內(nèi)定義的函數(shù)。閉包的一個重要特征是,內(nèi)部函數(shù)仍然有權(quán)訪問外部函數(shù)的變量。

因此,在本例中,由于x未在函數(shù)內(nèi)部中定義,因此在外部函數(shù)范圍中搜索定義的變量x,且被發(fā)現(xiàn)具有1的值。

6、下面的代碼將輸出什么到控制臺,為什么:

varhero={

_name:'JohnDoe',

getSecretIdentity:function(){returnthis._name;

}

};varstoleSecretIdentity=hero.getSecretIdentity;console.log(stoleSecretIdentity());console.log(hero.getSecretIdentity());

代碼有什么問題,以及應(yīng)該如何修復(fù)。

代碼將輸出:

undefinedJohnDoe

第一個console.log之所以輸出undefined,是因為我們正在從hero對象提取方法,所以調(diào)用了全局上下文中(即窗口對象)的stoleSecretIdentity(),而在此全局上下文中,_name屬性不存在。

其中一種修復(fù)stoleSecretIdentity()函數(shù)的方法如下:

varstoleSecretIdentity=hero.getSecretIdentity.bind(hero);

7、創(chuàng)建一個給定頁面上的一個DOM元素,就會去訪問元素本身及其所有子元素(不只是它的直接子元素)的函數(shù)。對于每個被訪問的元素,函數(shù)應(yīng)該傳遞元素到提供的回調(diào)函數(shù)。

此函數(shù)的參數(shù)為:

DOM元素

回調(diào)函數(shù)(將DOM元素作為其參數(shù))

訪問樹(DOM)的所有元素是經(jīng)典的深度優(yōu)先搜索算法應(yīng)用。下面是一個示范的解決方案:

functionTraverse(p_element,p_callback){

p_callback(p_element);varlist=p_element.children;for(vari=0;i<list.length;i++){

Traverse(list,p_callback);//recursivecall

}

}

創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。

當(dāng)前題目:好程序員Java教程分享JavaScript常見面試題五-創(chuàng)新互聯(lián)
文章地址:http://aaarwkj.com/article4/dpspoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計外貿(mào)網(wǎng)站建設(shè)、ChatGPT網(wǎng)站收錄、App設(shè)計服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設(shè)計
免费高清视频一区二区在线观看| 亚洲一区日韩精品电影| 国产三级黄在线观看| 人妻一本久道久久综合鬼色| 两性色午夜视频在线观看| 蜜臀av午夜福利在线| 国产av蜜臀一区二区三区| 国产亚洲日本精品二区| 中文字幕av久久激情| 少妇的诱惑免费在线播放| 九九九热这里只有精品| 欧美日本一区二区三区免费| 国产亚洲成人精品一区| 免费成人自拍偷拍视频| 国产又粗又硬又长又爽在线观看| 免费看欧美黄片在线看| 麻豆精品人妻中文在线| 国产黄色大片一级久久| 久久九九精品日本人妻视频| 亚洲字幕中文在线乱码mv| 亚洲成人大片免费在线观看 | 国产精品推荐在线观看| 怡红院怡春院视频免费看| 午夜少妇福利在线观看| 麻豆片免费观看在线看| 久久成人午夜免费电影| 亚洲精品国产精品乱码不| 毛片一区二区三区免费看| 国产麻豆精品二区视频| 中文字幕日韩精品久久| 99精品一二三日韩| 国产亚洲一区二区精品| 91九色精品视频在线观看| 强乱人妻中文字幕日本| 久久精品国产欧美日韩| 97门久欧美日韩久久| 国产精品自拍激情在线观看| 热久久视频这里只有精品| 国产三级视频在线2022| 亚洲成人自拍在线视频| 欧美日韩免费r在线视频|