摘要:创建实例对象构造函数作为模板,可以生成实例对象。但是,有时拿不到构造函数,只能拿到一个现有的对象。张三张三张三上面代码中,对象是的模板,后者继承了前者的属性和方法。的详细介绍,请看后面的相关章节。
new.target
函数内部可以使用new.target属性。如果当前函数是new命令调用,new.target指向当前函数,否则为undefined。
function f() {
console.log(new.target === f);
}
f() // false
new f() // true
Object.create() 创建实例对象
构造函数作为模板,可以生成实例对象。但是,有时拿不到构造函数,只能拿到一个现有的对象。我们希望以这个现有的对象作为模板,生成新的实例对象,这时就可以使用Object.create()方法。
var person1 = {
name: "张三",
age: 38,
greeting: function() {
console.log("Hi! I"m " + this.name + ".");
}
};
var person2 = Object.create(person1);
person2.name // 张三
person2.greeting() // Hi! I"m 张三.
上面代码中,对象person1是person2的模板,后者继承了前者的属性和方法。
Object.create()的详细介绍,请看后面的相关章节。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/105693.html
摘要:但是,下面这几种用法,都会改变的指向。情况一情况二情况三上面代码中,就是一个值。等同于上面代码中,是多层对象内部的一个方法。为求简便,将其赋值给变量,结果调用时,指向了顶层对象。 var obj ={ foo: function () { console.log(this); }}; obj.foo() // obj上面代码中,obj.foo方法执行时,它内部的this指向obj。但...
摘要:但是,下面这几种用法,都会改变的指向。情况一情况二情况三上面代码中,就是一个值。等同于上面代码中,是多层对象内部的一个方法。为求简便,将其赋值给变量,结果调用时,指向了顶层对象。 var obj ={ foo: function () { console.log(this); }}; obj.foo() // obj上面代码中,obj.foo方法执行时,它内部的this指向obj。但...
摘要:一一些闲话作为一个写静态的切图仔,其实日常工作中根本用不上瀑布流这种小清新,毕竟营销页面都是要求抢眼吸睛高大上文案爸爸说啥都对。昨上午闲着没事看到别人写的瀑布流的帖子,觉得很好玩的样子,然后决定上午就写一个试试。。。 一、一些闲话 作为一个写静态的切图仔,其实日常工作中根本用不上瀑布流这种小清新,毕竟营销页面都是要求 抢眼__、__吸睛__、 __高大上 (文案爸爸说啥都对)。 昨上...
阅读 2911·2021-11-24 10:22
阅读 2991·2021-11-23 10:10
阅读 1251·2021-09-28 09:35
阅读 1692·2019-08-29 13:16
阅读 1356·2019-08-26 13:29
阅读 2744·2019-08-26 10:27
阅读 650·2019-08-26 10:09
阅读 1397·2019-08-23 18:05