js构造函数中this介绍

Posted LeoX的爬坑笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js构造函数中this介绍相关的知识,希望对你有一定的参考价值。

如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内,这和函数调用和方法调用是一致的。但如果构造函数没有形参,javascript构造函数调用的语法是允许省略实参列表和圆括号的。凡是没有形参的构造函数调用都可以省略圆括号,比如,下面这两行代码就是等价的:

var o= new Object();
var o = new Object;

 

构造函数调用创建-一个新的空对象,这个对象继承自构造函数的prototype属性。构造函数试图初始化这个新创建的对象,并将这个对象用做其调用上下文,因此构造函数可以使用this关键字来引用这个新创建的对象。注意,尽管构造函数看起来像-一个方法调
用,它依然会使用这个新对象作为调用上下文。也就是说,在表达式new o.m()中,调用上下文并不是o。
构造函数通常不使用return关键字,它们通常初始化新对象,当构造函数的函数体执行完毕时,它会显式返回。在这种情况下,构造函数调用表达式的计算结果就是这个新对象的值。然而如果构造函数显式地使用r et ur n语句返回一个对象,那么调用表达式的值就是这个对象。如果构造函数使用return语句但没有指定返回值,或者返回一个原始值,那么这时将忽略返回值,同时使用这个新对象作为调用结果。

以上是关于js构造函数中this介绍的主要内容,如果未能解决你的问题,请参考以下文章

无法解析片段中的 ViewModelProvider 构造?

JS的构造函数

js中构造函数和普通函数的区别

在片段中使用上下文

谈谈JS构造函数

js继承之组合继承(结合原型链继承 和 借用构造函数继承)