1.判斷基本資料型別typeof 判斷物件的型別 object.prototype.tostring.call()
//使用 typeof bar === "object" 判斷 bar 是不是乙個物件弊端?
//使用 typeof 的判斷object弊端是顯而易見的(這種弊端同使用 instanceof):
let obj = {};
let arr = ;
console.log(typeof obj === 'object'); //true
console.log(typeof arr === 'object'); //true
console.log(typeof null === 'object'); //true
//從上面的輸出結果可知,typeof bar === "object" 並不能準確判斷 bar 就是乙個 object。可以通過 object.prototype.tostring.call(bar) === "[object object]" 來避免這種弊端:
let obj = {};
let arr = ;
console.log(object.prototype.tostring.call(obj)); //[object object]
console.log(object.prototype.tostring.call(arr)); //[object array]
console.log(object.prototype.tostring.call(null)); //[object null]
2.即時執行函式 iife
(function())();
console.log(b); //3 全域性變數
console.log(a); //undefined
for(var i = 0; i < 5; i++) , 1000);
}//上面的輸出並不是你以為的0,1,2,3,4,而輸出的全部是5,這時 iife 就能有用了:
for(var i = 0; i < 5; i++) , 1000);
})(i)
}
3
.對於 return 、break、continue 等語句,如果後面緊跟換行,後面一定要加分號;
function foo1();}
function foo2();}
console.log(foo1());
console.log(foo2());//undefined
4.閉包能夠訪問外部作用域的變數和引數
(function(x) )(2)
})(1); //1
5.物件呼叫
var hero =
};var stolesecretidentity = hero.getsecretidentity;
console.log(stolesecretidentity);
console.log(hero.getsecretidentity());
// 將 getsecretidentity 賦給 stolesecretidentity,等價於定義了 stolesecretidentity 函式:
// var stolesecretidentity = function ()
// stolesecretidentity
// 第二個是呼叫物件的方法,輸出 john doe。
整理 js經典小面試題
var str abcoefoxyozzopp var index str.indexof o 宣告變數,並且進行第一次查詢 var sum 記錄位置 var i 0 記錄次數 while index 1 console.log sum,i 處 var str abcoefoxyozzopp var...
面試整理 一)
1.如何理解物件導向的思想?物件導向是為了解決系統的可維護性,可擴充套件性,可重用性,我們再進一步思考,物件導向為什麼能解決系統的可維護性,可擴充套件性,可重用性?物件導向產生的歷史原因有下面兩點 1 計算機是幫助人們解決問題的,然而計算機終究是個機器,他只會按照人所寫的 一步一步的執行下去,最終得...
面試整理 61 70
容器內每個為之所儲存的元素個數不同。list 是collection型別,每個位置只有乙個元素。map型別,持有 key value 對 ps 下面的說法 list是儲存單列資料的結合,map是儲存 鍵和值的雙列資料的集合 list 是有序的,允許重複 map 是無序的,鍵是不能重複的,值可以重複 ...