对象于原型链得问题

菜lee
  • 731

clipboard.png

clipboard.png
我这边new了一个Blob对象size和type方法并不是b对象得属性,是原型链上的是属性,那问什么会直接展示出来呢?

回复
阅读 1.8k
5 个回答
function test(){
    Object.defineProperty(this,'name',{value:'zhangsan'});
}

这样就可以产生一个类似的属性,Blob具体实现不知道怎么做。

如果你不想展现出来可以用 var b = Blob();
如果用new新建一个对象,原型链上的属性肯定会给这个对象的

javascriptuser
  • 1.6k

https://segmentfault.com/q/10...

这个问题说的是关于new操作符的事情.
你可以看一下。

我觉得应该是在最后初始化的时候,Blob操作符给对象赋的值。

----------update----------

clipboard.png

为啥可以遍历啊????

新加一点:

clipboard.png

它确实没有size/type 属性。

new是浅复制吧,所以在new的时候,复制到了此对象上。

灰色v碰触
  • 2.8k

这应该是对象属性的特性导致的:可枚举性,可配置性,读取,写入 中的 可枚举性 ,没实际测试过,猜测 Blob的原型链上的size , type之类可显示的属性,估计 可枚举性应该都是 true,也就是能够被for ..in循环遍历,所以才能够在 控制台上显示出来。

以上纯属猜测。

如果觉得可能的话,自己辛苦下,去验证哈...

参考: Javascript 权威指南 对象一节

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏