首页 > 试题广场 >

下列说法正确的是()

[不定项选择题]
下列说法正确的是()
  • setTimeout(foo, 0) 这行代码可以等价替换为 foo()
  • 使用 Object.assign(obj1, obj2) 可以实现对象的浅拷贝
  •  for...in 循环只能遍历对象上的可枚举属性
  • Object.keys() 可以遍历出对象原型链上的属性
ES5 引入了Object.keys方法,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的键名。
for...in循环对象的所有枚举属性(包括原型上),然后再使用hasOwnProperty()方法来忽略继承属性;

获取实例对象obj的原型对象,有三种方法
obj.__proto__ 
obj.constructor.prototype 
Object.getPrototypeOf(obj) 
上面三种方法之中,前两种都不是很可靠。 
最新的ES6标准规定,__proto__属性只有浏览器才需要部署,其他环境可以不部署。而obj.constructor.prototype在手动改变原型对象时,可能会失效。

发表于 2020-06-02 17:22:53 回复(0)
注意审题,可枚举属性
发表于 2022-06-11 18:22:57 回复(0)