※ 本文為 dinos 轉寄自 ptt.cc 更新時間: 2013-05-13 08:23:16
看板 Ajax
作者 標題 [問題] 物件與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
推 :因為字串是物件 基本上妳可以透過webkit系browser1F 05/12 12:57
→ :於console檢視該物件的方法列表 應該是最簡單的方法
推 :如果是自己的物件模型 Object.getOwnPropertyNames()
→ :於console檢視該物件的方法列表 應該是最簡單的方法
推 :如果是自己的物件模型 Object.getOwnPropertyNames()
推 :字串是String物件的一個實例 因此他繼承了String物件的4F 05/12 13:26
→ :prototype, 而String是一個物件因此他又繼承了Object
→ :的prototype, 大部分在js中的物件都繼承自Object
→ :因此 Object 的 prototype 幾乎每個物件或實例都繼承了
→ :prototype, 而String是一個物件因此他又繼承了Object
→ :的prototype, 大部分在js中的物件都繼承自Object
→ :因此 Object 的 prototype 幾乎每個物件或實例都繼承了
→ :a是基本資料型態不是物件, typeof a => "string"8F 05/12 13:45
→ :有toString可以用是系統暫時產了一個String物件
→ :String繼承Object的toString也改寫了toString
→ :Object.prototype.toString.call(a) => "[object String]"
→ :String.prototype.toString.call(a) => "thisisstring"
→ :有toString可以用是系統暫時產了一個String物件
→ :String繼承Object的toString也改寫了toString
→ :Object.prototype.toString.call(a) => "[object String]"
→ :String.prototype.toString.call(a) => "thisisstring"
→ :對 應該是基本型態 (汗13F 05/12 13:53
※ 編輯: coldollsheep 來自: 36.230.103.250 (05/12 18:04)推 :用for/in去枚舉String.prototype 記得加hasOwnProperty14F 05/12 18:07
→ :不過我是建議你不如上網找文件 MDN很好用的
→ :不過我是建議你不如上網找文件 MDN很好用的
推 :elba大是正確的 sorry16F 05/12 18:51
--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 72
回列表(←)
分享