如何阻止IE和各大浏覽器預設行為( )
阻止預設事件:
e.preventDefault()
e.returnValue = false (IE)
阻止冒泡:
e.stopPropagation()
e.cancelBubble = true (IE)
執行以下程式段後,x的值是( )
var x=0;
switch(++x)
{
case 0: ++x;
case 1: ++x;
case 2: ++x;
}
-
關鍵:沒有break;
switch中,對x+1,此時x為1,然後進入case 1 中,又執行++x,此時x變為2;由于case 1中沒有break,然後繼續執行 case 2,執行++x,是以x變成3
以下哪些方法會傳回一個數組?

-
解析:
選擇AB。
A.Object.keys()
該方***傳回一個由一個給定對象的自身可枚舉屬性組成的數組,數組中屬性名的排列順序和使用 for…in 循環周遊該對象時傳回的順序一緻 。如果對象的鍵-值都不可枚舉,那麼将傳回由鍵組成的數組。
B.String.prototype.split()
split() 方法使用指定的分隔符字元串将一個String對象分割成字元串數組,以将字元串分隔為子字元串,以确定每個拆分的位置。
AB選項都是傳回數組。
C.Array.prototype.join()
join() 方法将一個數組(或一個類數組對象)的所有元素連接配接成一個字元串并傳回這個字元串。如果數組隻有一個項目,那麼将傳回該項目而不使用分隔符。
C選項傳回字元串。
D.Promise.all()
Promise.all(iterable) 方法傳回一個 Promise 執行個體,此執行個體在 iterable 參數内所有的 promise 都“完成(resolved)”或參數中不包含 promise 時回調完成(resolve);
如果參數中 promise 有一個失敗(rejected),此執行個體回調失敗(reject),失敗原因的是第一個失敗 promise 的結果。
D選項傳回的是promise對象。
下面哪些執行結果為true()
- 解釋:
function Human(name) {
this.name = name;
return {};
}
let one = new Human('c1er');
console.log(one); //輸出空對象 Object { }
以上述代碼為例:
使用new運算符調用函數時,會傳回一個對象。
如果構造函數沒有return語句時,則預設傳回原型為Human.prototype的、設定了屬性name的對象。
然而就像Class的constructor一樣,return語句傳回一個對象時,該對象将被作為new操作符的結果傳回。
是以。
A:String()作為普通函數使用時,将值轉為字元串,不是對象,預設傳回是一個空對象,原型為匿名函數的prototype。
String(new function(){ return String('foo'); })
"[object Object]"
B:String()作為構造函數來用時,傳回了一個字元串包裝對象。
String(new function(){ return new String('foo'); })
"foo"