讓我心碎的五道題

2021-09-07 12:44:36 字數 1023 閱讀 2259

1.

if (!("a" in window)) 

alert(a);

答案是undefined。首先js會把全部全域性的變數提前。所以此題能夠改動為

var a;

if(!("a" in window));

alert(a);

答案是1;首先要知道變數的宣告和函式的宣告都會提前,第二:函式的宣告會覆蓋變數的宣告。樣例:

function value()

var value;

alert(typeof value); //

"function"

可是假設變數已經被賦值則會相反:

function value()

var value = 1;

alert(typeof value); //

"number"

因此答案就非常明顯了。

3.

function a(x) 

var a;

alert(a);

依據第2道題能夠得出答案是function a(x)

4.

function b(x, y, a) 

b(1, 2, 3);

arguments什麼的真的好玄乎。此題答案是10,這個是比較簡單的,arguments和傳進去的引數儘管指向了兩個空間,可是值是能夠同步的。

可是當傳進去的引數小於須要傳的引數時。值就無法完畢同步:

function b(x, y, a) 

b(1, 2);

答案是undefined。由於和a沒關係。可是假設是以下的樣例

function b(x, y, a) 

b(1, 2);

5.

function a() 

a.call(null);

答案是window,這裡面須要知道,call傳進去的第乙個引數是要指向的物件,可是假設是null或者undefined的話,this則指向window

五道邏輯思維題

從1到100排列成一排,總共100個數,每一輪抽走奇數字置的數,問最後剩下哪個數?先思考小規模的問題,例如從1到10,模擬整個抽取過程如下。第1輪抽取完剩下所有偶數,如果都除以2,就變成了1到5的小問題 第2輪抽取後,還是剩下偶數,再除以2,變成1到2。所以最後剩下的數如果因式分解,就是包含因數2最...

JS Tom大叔五道題 其他部落格 帖子梳理

tom大叔,5道題目 1.if a inwindow a undefined等價於 var a if a inwindow a undefined 所有全域性變數都window的屬性,var a 1 等價於window.a 1 檢驗全域性變數是否宣告的方法 變數名稱 in window 所有的變數宣...

位元組跳動8 12機試五道程式設計題 Nelson

在 m,n 的矩陣中,只有1,0元素。定義相鄰包括 上,下,左,右,左上,左下,右上,右下八個點,求連通區域的數量,以及最大連通區域中元素1的個數。import sys a sys.stdin.readline strip split m int a 0 n int a 1 d num pp for...