前不久面試時碰到一道有意思的面試題,如何根據(jù)傳入的一個空數(shù)組和空對象 輸出一個規(guī)定類型的字符串劣领?
- [] 輸出'abc' [].toString() === "'' 通過改寫Array原型鏈中的toString函數(shù)可以實現(xiàn)此output。eg:
Array.prototype.toString = function() {
this.length === 0 ? 'abc': '';
}
- {} 輸出 '[object Object]' 使用Object.prototype.toString.call({})來獲揉托巍门粪;
ECMAScript 5中
JS中每種內(nèi)置對象都定義了[[Class]]內(nèi)部屬性的值赴背,例如:
Object.prototype.toString.call(true)
"[object Boolean]"
Object.prototype.toString.call([])
'[object Array]'
這里有一篇文章很好的介紹了此函數(shù)的作用