扫码关注官方订阅号
我这边new了一个Blob对象size和type方法并不是b对象得属性,是原型链上的是属性,那问什么会直接展示出来呢?
走同样的路,发现不同的人生
function test(){ Object.defineProperty(this,'name',{value:'zhangsan'}); }
这样就可以产生一个类似的属性,Blob具体实现不知道怎么做。
Blob
如果你不想展现出来可以用 var b = Blob();如果用new新建一个对象,原型链上的属性肯定会给这个对象的
new是浅复制吧,所以在new的时候,复制到了此对象上。
这应该是对象属性的特性导致的:可枚举性,可配置性,读取,写入 中的 可枚举性 ,没实际测试过,猜测 Blob的原型链上的size , type之类可显示的属性,估计 可枚举性应该都是 true,也就是能够被for ..in循环遍历,所以才能够在 控制台上显示出来。
对象属性的特性
可枚举性,可配置性,读取,写入
可枚举性
size , type
true
for ..in
以上纯属猜测。
如果觉得可能的话,自己辛苦下,去验证哈...
参考: Javascript 权威指南 对象一节
Javascript 权威指南 对象一节
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这样就可以产生一个类似的属性,
Blob具体实现不知道怎么做。如果你不想展现出来可以用 var b = Blob();
如果用new新建一个对象,原型链上的属性肯定会给这个对象的
new是浅复制吧,所以在new的时候,复制到了此对象上。
这应该是
对象属性的特性导致的:可枚举性,可配置性,读取,写入中的可枚举性,没实际测试过,猜测Blob的原型链上的size , type之类可显示的属性,估计可枚举性应该都是true,也就是能够被for ..in循环遍历,所以才能够在 控制台上显示出来。以上纯属猜测。
如果觉得可能的话,自己辛苦下,去验证哈...
参考:
Javascript 权威指南 对象一节