一道簡單的面試題

反正我感覺我被這道題侮辱了智商,好吧,我承認這是我平常沒有認證思考的鍋哦!

var str = 'name';
str.len = 4;
console.log(str.len);

當時我簡單一看直接就給出了答案 4 ,面試官對我冷冷一笑,我就知道自己又傻了。下來一看發現這麼簡單的問題,頓時羞愧啊!


// 我們定義了一個字符串,字符串是基本數據類型
var str = 'name' ;

//這裏給str設置了一個key:len ;value:4
str.len = 4;

//上面也說了str是一個基本數據類型,所以說是不可能添加key和value的,所以結果爲undefined,而不是4
console.log(str.len); 
var strPrimitive = "I am a string";
typeof strPrimitive; // "string"
strPrimitive instanceof String; // false

這裏的 strPrimitvie 代表了’I am a string’,並不是一個對象,僅僅是一個字面量,並且是一個不可變的值。換種角度來看 strPrimitive 並不是 String類的實例,只有當strPrimitive 爲 String 的實例的時候,通過instance檢測的時候纔回返回true。

var strObject = new String( "I am a string" );
typeof strObject; // "object"
strObject instanceof String; // true
// 檢查 sub-type 對象
Object.prototype.toString.call( strObject ); // [object String]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章