亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

平時遇到的JS筆試題

YJNldm / 2001人閱讀

摘要:由于第一個循環(huán)中的變量是使用關(guān)鍵字聲明的,因此該值是全局的。檢查對象是否具有對內(nèi)存中相同位置的引用。在事件傳播期間,有三個階段捕獲,目標和冒泡。當我們傳遞參數(shù)時,這與變量的不同。

1.下面代碼的輸出是什么?

    for (var i = 0; i < 3; i++) {
        setTimeout(() => console.log(i), 1);
    }

    for (let i = 0; i < 3; i++) {
      setTimeout(() => console.log(i), 1);
    }

答案:
由于JavaScript中的事件執(zhí)行機制,setTimeout函數(shù)真正被執(zhí)行時,循環(huán)已經(jīng)走完。
由于第一個循環(huán)中的變量i是使用var關(guān)鍵字聲明的,因此該值是全局的。 在循環(huán)期間,我們每次使用一元運算符++都會將i的值增加1。
因此在第一個例子中,當調(diào)用setTimeout函數(shù)時,i已經(jīng)被賦值為3。
在第二個循環(huán)中,使用let關(guān)鍵字聲明變量i:使用let(和const)關(guān)鍵字聲明的變量是具有塊作用域的(塊是{}之間的任何東西)。
在每次迭代期間,i將被創(chuàng)建為一個新值,并且每個值都會存在于循環(huán)內(nèi)的塊級作用域。

2.下面代碼的輸出是什么?

    const shape = {
      radius: 10,
      diameter() {
        return this.radius * 2
     },
      perimeter: () => 2 * Math.PI * this.radius 
    };
    
    shape.diameter();
    shape.perimeter();
請注意,diameter是普通函數(shù),而perimeter是箭頭函數(shù)。
對于箭頭函數(shù),this關(guān)鍵字指向是它所在上下文(定義時的位置)的環(huán)境,與普通函數(shù)不同!
這意味著當我們調(diào)用perimeter時,它不是指向shape對象,而是指其定義時的環(huán)境(window)。沒有值radius屬性,返回undefined。

3.下面代碼的輸出是什么?

    +true;
    !"Lydia";
一元加號會嘗試將boolean類型轉(zhuǎn)換為數(shù)字類型。 true被轉(zhuǎn)換為1,false被轉(zhuǎn)換為0。

字符串"Lydia"是一個真值。 我們實際上要問的是“這個真值是假的嗎?”。 這會返回false。

4.下面代碼的輸出是什么?

function checkAge(data) {
  if (data === { age: 18 }) {
    console.log("You are an adult!");
  } else if (data == { age: 18 }) {
    console.log("You are still an adult.");
  } else {
    console.log(`Hmm.. You don"t have an age I guess`);
  }
}

checkAge({ age: 18 });
在比較相等性,原始類型通過它們的值進行比較,而對象通過它們的引用進行比較。JavaScript檢查對象是否具有對內(nèi)存中相同位置的引用。
我們作為參數(shù)傳遞的對象和我們用于檢查相等性的對象在內(nèi)存中位于不同位置,所以它們的引用是不同的。 這就是為什么{ age: 18 } ===
{ age: 18 }和 { age: 18 } == { age: 18 } 返回 false的原因。

5.下面代碼的輸出是什么?

function getAge(...args) {
  console.log(typeof args);
}

getAge(21);
擴展運算符(... args)返回一個帶參數(shù)的數(shù)組。 數(shù)組是一個對象,因此typeof args返回object

6.下面代碼的輸出是什么?

const obj = { 1: "a", 2: "b", 3: "c" };
const set = new Set([1, 2, 3, 4, 5]);

obj.hasOwnProperty("1");
obj.hasOwnProperty(1);
set.has("1");
set.has(1);
所有對象鍵(不包括Symbols)都會被存儲為字符串,即使你沒有給定字符串類型的鍵。
這就是為什么obj.hasOwnProperty("1")也返回true。 上面的說法不適用于Set。
在我們的Set中沒有“1”:set.has("1")返回false。 它有數(shù)字類型1,set.has(1)返回true。

7.下面代碼的輸出是什么?

for (let i = 1; i < 5; i++) {
  if (i === 3) continue;
  console.log(i);
}
如果某個條件返回true,則continue語句跳過迭代。

8.下面代碼的輸出是什么?

    const a = {}; const b = { key: "b" }; const c = { key: "c" };
    
    a[b] = 123; a[c] = 456;
    
    console.log(a[b]);

對象鍵自動轉(zhuǎn)換為字符串。我們試圖將一個對象設(shè)置為對象a的鍵,其值為123。 但是,當對象自動轉(zhuǎn)換為字符串化時,它變成了[Object
object]。 所以我們在這里說的是a["Object object"] = 123。 然后,我們可以嘗試再次做同樣的事情。
c對象同樣會發(fā)生隱式類型轉(zhuǎn)換。那么,a["Object object"] = 456。 然后,我們打印a[b],它實際上是a["Object
object"]。 我們將其設(shè)置為456,因此返回456。

9.下面代碼的輸出是什么?

    

Click here!

如果我們單擊p,我們會看到兩個日志:p和div。在事件傳播期間,有三個階段:捕獲,目標和冒泡。
默認情況下,事件處理程序在冒泡階段執(zhí)行(除非您將useCapture設(shè)置為true)。 它從最深的嵌套元素向外延伸。

10.下面這些值哪些是假值?

0;
new Number(0);
("");
(" ");
new Boolean(false);
undefined;

JavaScript中只有6個假值:

undefined null NaN 0 "" (empty string) false
函數(shù)構(gòu)造函數(shù),如new Number和new
Boolean都是真值。

11.下面代碼的輸出是什么?

    (() => {
      let x, y;
      try {
        throw new Error();
      } catch (x) {
        (x = 1), (y = 2);
        console.log(x);
      }
      console.log(x);
      console.log(y);
    })();
catch塊接收參數(shù)x。當我們傳遞參數(shù)時,這與變量的x不同。這個變量x是屬于catch作用域的。
之后,我們將這個塊級作用域的變量設(shè)置為1,并設(shè)置變量y的值。 現(xiàn)在,我們打印塊級作用域的變量x,它等于1。
在catch塊之外,x仍然是undefined,而y是2。
當我們想在catch塊之外的console.log(x)時,它返回undefined,而y返回2。

12.setInterval方法的返回值什么?

    setInterval(() => console.log("Hi"), 1000);
它返回一個唯一的id。 此id可用于使用clearInterval()函數(shù)清除該定時器

13.下面代碼的輸出是什么?

    [..."Lydia"];
字符串是可迭代的。 擴展運算符將迭代的每個字符映射到一個元素。 ["L", "y", "d", "i", "a"]

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

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/104772.html

相關(guān)文章

  • 如何招聘一名優(yōu)秀前端

    摘要:如何考察一個人是不是經(jīng)驗豐富我們需要在問答式的面試中,對其項目經(jīng)驗進行挖掘。如何設(shè)置筆試題現(xiàn)在網(wǎng)上有大量的面經(jīng)的存在,對于我們面試是一個巨大的挑戰(zhàn)。尊重應聘者我們要尊重每一個來應聘的人,不要輕視別人,或者故意刁難別人。 時光荏苒,2個月前,我才剛總結(jié)了如何應對面試官,現(xiàn)在的我開始總結(jié)如何面試別人了。笑哭.png 1.我們需要什么樣的人 招聘肯定要有標準,這樣我們才能更快的找到我們需要的...

    Mr_houzi 評論0 收藏0
  • 前端試題試題記錄(上)

    摘要:后續(xù)前端筆試題面試題記錄下小結(jié)我想說的是在找工作期間,肯定有自己發(fā)揮不好,或者不會的問題,一定要在晚上的時候自己再學習總結(jié)一下,在一個問題上面盡量不要栽倒兩次,學到了的才是自己的。 前言 過完元宵,就到上海找了波工作,現(xiàn)在已經(jīng)入職好了,蹭波熱點,寫一波面試記錄,內(nèi)容包含筆試題和面試題,還有一些沒有寫進來,準備再開一篇,許久沒寫了,寫的確實有些慢。如果喜歡的話可以點波贊,或者關(guān)注一下,希...

    wind3110991 評論0 收藏0
  • 前端試題試題記錄(上)

    摘要:后續(xù)前端筆試題面試題記錄下小結(jié)我想說的是在找工作期間,肯定有自己發(fā)揮不好,或者不會的問題,一定要在晚上的時候自己再學習總結(jié)一下,在一個問題上面盡量不要栽倒兩次,學到了的才是自己的。 前言 過完元宵,就到上海找了波工作,現(xiàn)在已經(jīng)入職好了,蹭波熱點,寫一波面試記錄,內(nèi)容包含筆試題和面試題,還有一些沒有寫進來,準備再開一篇,許久沒寫了,寫的確實有些慢。如果喜歡的話可以點波贊,或者關(guān)注一下,希...

    Caizhenhao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<