Web 技术研究所

我一直坚信着,Web 将会成为未来应用程序的主流

由[[Class]]决定的对象特性

  对象的[[Class]]内置属性是与生俱来且不可修改的,只有Object.prototype.toString的输出结果中可以找到[[Class]]的值。不同[[Class]]的对象有不同的特性,这些特性也是无法修改的。这里就把不同[[Class]]对象的特性整理成了一份表格列出来。
  这些数据是基于ES5.1整理的,低版本IE和已经部分支持了ES6的浏览器可以稍微有差异。[[Class]]内置属性的取值范围不止下面这些,没有特殊性质的[[Class]]这里就不列举了。
[[Class]]=="Function"
length表示参数个数
prototype实例化时使用的原型对象
arguments函数调用时的参数列表
[[Call]]提供调用支持
[[Construct]]提供 new 运算符支持
[[HasInstance]]提供 instanceof 运算符支持
[[Scope]]函数定义所在的作用域
[[FormalParameters]]形参和实参的映射表
[[Code]]函数体代码
[[TargetFunction]]映射到另一个函数(可能为空)
[[BoundThis]]映射时传递的this值(可能为空)
[[BoundArgs]]映射时传递的参数列表(可能为空)
[[Get]]严格模式下访问caller或arguments属性时抛出异常
[[Class]]=="Array"
length表示数组元素的个数
[[DefineOwnProperty]]修改length属性时会删除下标大于length的元素
添加元素时length属性会被设置为当前最大下标+1
[[Class]]=="String"
length表示字符串的字符个数
[[GetOwnProperty]]访问下标元素时作为chatAt调用并返回
[[PrimitiveValue]]保存字符串值
[[Class]]=="Boolean"
[[PrimitiveValue]]保存布尔值
[[Class]]=="Number"
[[PrimitiveValue]]保存数字值
[[Class]]=="Date"
[[PrimitiveValue]]保存时间的数字值
[[Class]]=="RegExp"
source保存正则表达式的代码
global全局匹配标识符
ignoreCase无视大小写标识符
multiline多行匹配标识符
lastIndex最后匹配位置
[[Class]]=="Arguments"
length表示参数个数
callee表示当前对象所属的函数,严格模式下访问将抛出异常
caller已废弃,严格模式下访问将抛出异常
下标元素非严格模式下与形参变量有映射关系
网名:
3.80.32.*
电子邮箱:
仅用于接收通知
提交 悄悄的告诉你,Ctrl+Enter 可以提交哦
神奇海螺
[查看全部主题]
各类Web技术问题讨论区
发起新主题
本模块采用即时聊天邮件通知的模式
让钛合金F5成为历史吧!
次碳酸钴的技术博客,文章原创,转载请保留原文链接 ^_^