已采納回答 / CHWYH
接上邊:this通常是指向當前函數的擁有者,所以當前方法 f ?的擁有者是 對象o,所以 o.f() ?時執行 f() ,this 指向 o, o.prop=37;
2016-04-28
已采納回答 / 交替的黑白鍵
是的,function a(){}只有聲明過程;順序是這樣的:1.function a(){return 5;}進行函數聲明;? ? ? ? ? ? ? ? ? ? ? ?2.var a被忽略;? ? ? ? ? ? ? ? ? ? ? ?3.var a=1使a被賦值為1,并覆蓋掉了函數聲明,使a變成了number然后強制輸出a()是執行函數的語句,a不是函數當然報錯了~
2016-04-25
已采納回答 / weibo_我喜歡大海洋_0
第一、prototype是一個構造函數的屬性,不是一個對象實例的屬性,所以,你這a.prototype.y=2;這句話是不對的,因為實例a沒有prototype屬性,按你的目的,應該這樣寫:Object.prototype.y=2;這樣的話,a的原型中就有y屬性了,且值為2。又因為a是b的原型,所以b從原型鏈上繼承了y屬性,即b.y的值為2。(建議:自己寫下代碼實踐一下就知道了?。└缴洗a:<...code...>
2016-04-23
已采納回答 / 思椋
在?JavaScript?里使用?typeof?來判斷數據類型,只能區分基本類型,即 “number”,”string”,”undefined”,”boolean”,”object” 五種。對于數組、對象來說,其關系錯綜復雜,使用?typeof?都會統一返回 “object” 字符串。
2016-04-19
已采納回答 / 等待Mr薰衣草
! function (){}(1) 表示該函數是一個函數表達式而不是函數聲明,后面的(1)是將參數1傳遞進去,前面的!,你可以理解成它是將函數聲明轉化成函數表達式的一種方法。!function (){}(1)也等同于(function (){})(1);,!也可換成+、-這樣的一元運算符,都可以起到相同的作用。函數也是一種對象,arguments是它的一個屬性,函數的屬性還包括name,length等等。
2016-04-18
已采納回答 / lann
抱歉,后半句不太準確。個人理解,關鍵在于對countMap[]的判斷那部分的理解。首先,數組的‘索引’不僅是數字,也可以是字符串,因為數組本身也是對象,‘索引’是字符串時就是對象的屬性了。<...code...>其次關于typeOf 的返回值。我對答案示例的理解是,一定會返回一個字符串,結合上面的小例子。countMap{ objtype : value , }可以參考下阮一峰老師講的?數組
2016-04-15