返回信息流performance.timing的属性比如 connectend等都能通过forin取到 但是propertyisenumerable的结果为false
这是为什么呢?
发自「贵邮」
这是一条镜像帖。来源:北邮人论坛 / www-technology / #38181同步于 2016/8/6
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
for in和 propertyisenumerable 结果不对应求解答
xssd
2016/8/6镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
在js高阶中,有一段原话是“在使用for-in循环时,返回的是所有能够通过对象访问的,可枚举的属性,其中既包括存在于实例中的属性,也包括存在于原型中的属性。屏蔽了原型中不可枚举属性(既将[[enumberable]]标记为false的属性)的实例属性也会在for-in循环中返回,因为根据规定,所有开发人员定义的属性都是可枚举的--只有在ie8及更早版本中例外”
可以看一下Object.keys(performance.timing)的内容, propertyIsEnumerable对于不是own property的返回都是false. for in会从原型链查找.
————
微博 @flowmemo , 现在主要写JavaScript. 关注广泛, 欢迎交流.
此签名通过「北邮人签名档」脚本发送
object.keys什么都不返回 但是console里看着不是prototype里的(虽然proto里也有一份一样的) 也都不是ownproperty的
【 在 e97ace 的大作中提到: 】
: 可以看一下Object.keys(performance.timing)的内容, propertyIsEnumerable对于不是own property的返回都是false. for in会从原型链
: .........
发自「贵邮」
这么看来这些属性应该在原型里 但是控制台输出在本对象里不在原型 orz
【 在 redstarbury 的大作中提到: 】
: 在js高阶中,有一段原话是“在使用for-in循环时,返回的是所有能够通过对象访问的,可枚举的属性,其中既包括存在于实例中的属性,也包括存在于原型中的属性。屏蔽了原型中不可枚举属性(既将[[enumb
: .........
发自「贵邮」
【 在 xssd 的大作中提到: 】
: object.keys什么都不返回 但是console里看着不是prototype里的(虽然proto里也有一份一样的) 也都不是ownproperty的
:
: 发自「贵邮」
是在原型链里啊,对于实例来说一般是看__proto__属性而不是prototype属性
————
微博 @flowmemo , 现在主要写JavaScript. 关注广泛, 欢迎交流.
此签名通过「北邮人签名档」脚本发送
js高阶是什么。。。
【 在 redstarbury 的大作中提到: 】
: 在js高阶中,有一段原话是“在使用for-in循环时,返回的是所有能够通过对象访问的,可枚举的属性,其中既包括存在于实例中的属性,也包括存在于原型中的属性。屏蔽了原型中不可枚举属性(既将[[enumberable]]标记为false的属性)的实例属性也会在for-in循环中返回,因为根据规定,所有开发人员定义的属性都是可枚举的--只有在ie8及更早版本中例外”
看起来有两份 proto里也有外面也有
【 在 e97ace 的大作中提到: 】
: 是在原型链里啊,对于实例来说一般是看__proto__属性而不是prototype属性
: ————
: 微博 @flowmemo , 现在主要写JavaScript. 关注广泛, 欢迎交流.
: ...................
【 在 xssd 的大作中提到: 】
: [upload=1][/upload]
: 看起来有两份 proto里也有外面也有
还真是. 不过console.log也没啥标准,还是得按正规的api的结果为准
————
微博 @flowmemo , 现在主要写JavaScript. 关注广泛, 欢迎交流.
此签名通过「北邮人签名档」脚本发送