顯示廣告
隱藏 ✕
※ 本文為 dinos 轉寄自 ptt.cc 更新時間: 2013-05-13 08:23:16
看板 Ajax
作者 coldollsheep (加油加油^^)
標題 [問題] 物件與protytype有繫節這句話的疑問
時間 Sun May 12 11:57:27 2013



var a = 'thisisstring' ;

這是一個簡單的字串值

但是卻可以執行toString() ; // why?

---
當我使用console.log(a) 只有一個簡單的值。

要如何看到所謂的對prototype的繫節?

當我想要看到我有多少方法可以用的時候,看怎麼觀察?

以上 有沒有高手指導一二...感謝

--

感謝回答,依照討論狀況 a 應該不能算是一個string object

依舊是個string literal,只是如S大所言。繼承了~

但是還是不懂更細節的事情

另外,老問題

有辦法看到被綁定prototype嗎?

例如說,我們明明知道a有toString可以使用

但是console.log(a)的時候,資訊就完全不足了。

而且,像我console.log($(a))的時候 (jQuery物件)

就可以知道有哪些方法可以使用,有沒有辦法做到類似這樣?






--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.230.103.250
Fantasywind:因為字串是物件 基本上妳可以透過webkit系browser1F 05/12 12:57
Fantasywind:於console檢視該物件的方法列表 應該是最簡單的方法
Fantasywind:如果是自己的物件模型 Object.getOwnPropertyNames()
s25g5d4:字串是String物件的一個實例 因此他繼承了String物件的4F 05/12 13:26
s25g5d4:prototype, 而String是一個物件因此他又繼承了Object
s25g5d4:的prototype, 大部分在js中的物件都繼承自Object
s25g5d4:因此 Object 的 prototype 幾乎每個物件或實例都繼承了
elba:a是基本資料型態不是物件, typeof a => "string"8F 05/12 13:45
elba:有toString可以用是系統暫時產了一個String物件
elba:String繼承Object的toString也改寫了toString
elba:Object.prototype.toString.call(a) => "[object String]"
elba:String.prototype.toString.call(a) => "thisisstring"
s25g5d4:對 應該是基本型態 (汗13F 05/12 13:53
※ 編輯: coldollsheep    來自: 36.230.103.250       (05/12 18:04)
s25g5d4:用for/in去枚舉String.prototype 記得加hasOwnProperty14F 05/12 18:07
s25g5d4:不過我是建議你不如上網找文件 MDN很好用的
Fantasywind:elba大是正確的 sorry16F 05/12 18:51

--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 72 
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇