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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法遍歷本地對象的屬性或方法

無法遍歷本地對象的屬性或方法

www說 2018-09-20 10:32:50
上面可以遍歷myObject 的屬性 如果是var myObject=new Array();for (prop in myObject)  {console.log("屬性 '" + prop + "' 為 " + myObject[prop]);} 無法遍歷數組的方法,有些語言如python就可以通過反射將任何對象的屬性或方法都遍歷出來, js 不能對本地對象遍歷它的方法,真是一個不足哈。Number對象有這些常見方法:toString,toLocalString,value,toSource,toExponetial,toFixed,toPrecision等等通常我們不能全部記住吧,如果有一種簡單的反射方法,全部列出來,可以減少記憶上的負擔。請看python的反射>>> x=[1,2,3]>>> dir(x)['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']這個x這個數組對象,包含一些方法,屬性都遍歷出來了,多簡潔,減低程序員記憶上的負擔。
查看完整描述

1 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

這不是不足,而是你的理解沒有到位。

for in遍歷,只會遍歷能夠枚舉的屬性,而Array.prototye里面的方法都是不可枚舉的,自然就無法遍歷。另外什么情況下我們需要遍歷數組?難道不是因為我們想取數組里面的元素嗎?如果這個時候把數組的方法遍歷出來了,反而奇怪了。所以這個設計完全是合理的。

要列舉也行,如下:
Object.getOwnPropertyNames(Array.prototype)

個人認為完全沒有必要,查詢API是更好的方式。


查看完整回答
反對 回復 2018-10-16
  • 1 回答
  • 0 關注
  • 698 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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