亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

通過{}.toString 檢測類型的問題

老師在類型檢測小結的ppt中,總結了“通過{}.toString拿到,適合內置對象和基元類型。。。。”

請問:?

1、這里說的基元類型是指javascript的基本數據類型嗎?如果不是,那是指的什么?

2、

Object.prototype.toString.apply('abc')??//?返回"[object?String]"
Object.prototype.toString.apply(new?String('abc'))//返回"[object?String]"

上面兩種情況下都返回的同樣的結果,可是一個是 string類型的字符串,一個是String對象,兩者的類型不一樣。是否這種判斷數據類型的方法不適合基本的數據類型?

希望老師能夠幫忙解答,有什么不對的希望老師能夠指出。謝謝

正在回答

4 回答

是的。e.g.?

var str = "helloworld";

Object.prototype.toString.apply(str);

return:?"[object String]"

明顯是創建了一個臨時的包裝對象,new String(str);

具體參見?JavaScriot權威指南 3.6節包裝對象(Wrapper Objects)

比較懶就不敲字啦 :)

1 回復 有任何疑惑可以回復我~
#1

Jason_Xie 提問者

非常感謝!
2016-05-30 回復 有任何疑惑可以回復我~

Object.prototype.toString.call(this);????這里的參數是一個對象,所以將‘abc’轉換為String對象了。

0 回復 有任何疑惑可以回復我~

我的理解是:調用apply的時候,由于stirng類型沒有這個方法,所以就將字符串轉換成了它對應的包裝類,進而調用了String對象上的prototype.toString方法。

2 回復 有任何疑惑可以回復我~

個人理解,錯了望原諒:其實我覺得它返回的都是Object是因為apply的作用域是在Object中,你判斷一個字符串感覺就是“字符串在對象里,你要調用字符串,字符串指針指向Object,所以都是同樣的結果?!?/p>

0 回復 有任何疑惑可以回復我~
#1

Jason_Xie 提問者

我的理解是:調用apply的時候,由于stirng類型沒有這個方法,所以就將字符串轉換成了它對應的包裝類,進而調用了String對象上的prototype.toString方法。
2015-10-22 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

通過{}.toString 檢測類型的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號