请问,如何用代码查看 Array 对象的内置属性?
如果是自己定义的对象,通过 for .. in 就可以查看该对象的属性和方法,
但是为什么内置的 Array 为什么不能用 for ..in 查看其属性和方法,比如 push,shift 等?比如,
var Animal = {
eat: function () { ...}
}
var ani = new Animal();
通过 for (key in ani) { alert(key); }
是可以查看到对象拥有哪一些属性(方法)的。然而 var arr = [1,3,5];
明明可以调用 arr.push(7); 也就是拥有 push 方法,
但是为什么用 for (key in arr) 得不到这个push呢?
1. 为什么不能用 for .. in 访问内置对象的属性?被屏蔽了?
2. 如果不能够用 for..in .. 来访问,那有没有其他的办法来访问?
3. 我们如何查看这些内置对象定义的源代码?
如果是自己定义的对象,通过 for .. in 就可以查看该对象的属性和方法,
但是为什么内置的 Array 为什么不能用 for ..in 查看其属性和方法,比如 push,shift 等?比如,
var Animal = {
eat: function () { ...}
}
var ani = new Animal();
通过 for (key in ani) { alert(key); }
是可以查看到对象拥有哪一些属性(方法)的。然而 var arr = [1,3,5];
明明可以调用 arr.push(7); 也就是拥有 push 方法,
但是为什么用 for (key in arr) 得不到这个push呢?
1. 为什么不能用 for .. in 访问内置对象的属性?被屏蔽了?
2. 如果不能够用 for..in .. 来访问,那有没有其他的办法来访问?
3. 我们如何查看这些内置对象定义的源代码?
解决方案 »
- jQuery Validation插件如何?感觉,没自己用jQuery写方便?
- 这个function 里要写什么才能让div里的链接生效
- 求解 jquery写的焦点图 点击快了会乱
- 学好WEB开发得多久
- 各位大哥帮帮小弟。高分
- [分享]一个封装的Javascript类,请多指教
- 如何在页面上用javascript动态循环一个表格显示?
- 如何引用里面的表格 ???<table id="outerTable"><tr>,<td><table id="innerTable"></table></td></tr></table>
- 怎样使下面的程序在ie中不提示,以及怎样屏敝打印按钮。(在线等待)
- 聊天室程序:提交发言给CGI后,如何使输入表单不刷新?
- 1.html 如何把 2.html全包进来
- 怎么让alert输出input,这样的html元素?
其中,DontEnum属性表示不会被for in到。
js引擎实现的各种类的prototype的方法,这个属性都是为true的,
而我们加上去的方法,却一定是能被for in到,因为“用户级别的 Javascript 是无法更改的”。附带的说一个问题:所以我们千万别扩展Object.prototype,它会影响“对Json对象的for in”.
b:function(){}
}
//var aa=new a() >>>>>>>>>不注释掉此行 会出错!!错误信息在下面
for(i in a)
alert(i)
/*////
错误信息:
---------------------------
JScript 调试程序
---------------------------
在遇到 JScript 运行时错误时中断 - 对象不支持此操作
---------------------------
确定
---------------------------
/////*/
a不是构造器,当然不能new了