js中构造函数的详细分析

js中构造函数的详细分析
在Javascript中,任何合法的函数都可以用作对象的构造函数,其中包括系统的内置函数,以及用户自己定义的函数。

一般情况下,构造函数没有返回值,并且只初始化传入的this指针的对象,而没有任何回报。如果一个函数有一个返回值,返回的对象成为新的表达式的值。在形式上,一个函数是构造函数和普通函数的唯一区别,是否新的算子。

上面的描述实际上有一个更确切的含义。如果有一个返回值分为两种情况,那么函数的划分是必要的:函数的返回值是引用类型和值类型。

如果一个函数的返回值是一个引用类型(数组,对象或函数)的数据,那么这个函数作为执行结构使用新的操作符构造函数,结果将返回值替换,此时构造函数体丢失这个值,这是返回的对象:
复制代码代码如下所示:
功能测试()
{
这个= 10;
返回函数()
{
返回1;
}
}
警报M =新测试();
var =测试();
警报(m);返回关闭结束返回
警报(n);返回关闭结束返回

运行结果m的值与n的值相同,测试函数返回的所有闭包以及该对象的赋值和赋值结果。a = 10都被该引用丢弃。

如果一个函数的返回值是一个值类型,这个函数被构造为使用新操作符的构造函数,它的返回值将被丢弃。新表达式的结果仍然是这个引用的对象。
复制代码代码如下所示:
功能测试()
{
这个= 10;
返回1;
}
警报M =新测试();
var =测试();
警报(m)返回{对象}
警报(n)1。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部