1class Dog { 2 constructor(name) { 3 this.name = name; 4 } 5} 6 7Dog.prototype.bark = function() { 8 console.log(`Woof I am ${this.name}`); 9}; 10 11const pet = new Dog("Mara"); 12 13pet.bark(); 14 15delete Dog.prototype.bark; 16 17pet.bark();
本题为"单选题"
参考答案:
正确选项:A:"Woof I am Mara", TypeError
我们可以用delete
关键字删除对象的属性,对原型也是适用的。删除了原型的属性后,该属性在原型链上就不可用了。在本例中,函数bark
在执行了delete Dog.prototype.bark
后不可用, 然而后面的代码还在调用它。
当我们尝试调用一个不存在的函数时TypeError
异常会被抛出。在本例中就是 TypeError: pet.bark is not a function
,因为pet.bark
是undefined
.
最近更新时间:2021-07-03
题库维护不易,您的支持就是我们最大的动力!