数码资讯
js中构造函数的详细分析
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
在Javascript中,任何合法的函数都可以用作对象的构造函数,其中包括系统的内置函数,以及用户自己定义的函数。
一般情况下,构造函数没有返回值,并且只初始化传入的this指针的对象,而没有任何回报。如果一个函数有一个返回值,返回的对象成为新的表达式的值。在形式上,一个函数是构造函数和普通函数的唯一区别,是否新的算子。
上面的描述实际上有一个更确切的含义。如果有一个返回值分为两种情况,那么函数的划分是必要的:函数的返回值是引用类型和值类型。
如果一个函数的返回值是一个引用类型(数组,对象或函数)的数据,那么这个函数作为执行结构使用新的操作符构造函数,结果将返回值替换,此时构造函数体丢失这个值,这是返回的对象:
复制代码代码如下所示:
功能测试()
{
这个= 10;
返回函数()
{
返回1;
}
}
警报M =新测试();
var =测试();
警报(m);返回关闭结束返回
警报(n);返回关闭结束返回
运行结果m的值与n的值相同,测试函数返回的所有闭包以及该对象的赋值和赋值结果。a = 10都被该引用丢弃。
如果一个函数的返回值是一个值类型,这个函数被构造为使用新操作符的构造函数,它的返回值将被丢弃。新表达式的结果仍然是这个引用的对象。
复制代码代码如下所示:
功能测试()
{
这个= 10;
返回1;
}
警报M =新测试();
var =测试();
警报(m)返回{对象}
警报(n)1。
一般情况下,构造函数没有返回值,并且只初始化传入的this指针的对象,而没有任何回报。如果一个函数有一个返回值,返回的对象成为新的表达式的值。在形式上,一个函数是构造函数和普通函数的唯一区别,是否新的算子。
上面的描述实际上有一个更确切的含义。如果有一个返回值分为两种情况,那么函数的划分是必要的:函数的返回值是引用类型和值类型。
如果一个函数的返回值是一个引用类型(数组,对象或函数)的数据,那么这个函数作为执行结构使用新的操作符构造函数,结果将返回值替换,此时构造函数体丢失这个值,这是返回的对象:
复制代码代码如下所示:
功能测试()
{
这个= 10;
返回函数()
{
返回1;
}
}
警报M =新测试();
var =测试();
警报(m);返回关闭结束返回
警报(n);返回关闭结束返回
运行结果m的值与n的值相同,测试函数返回的所有闭包以及该对象的赋值和赋值结果。a = 10都被该引用丢弃。
如果一个函数的返回值是一个值类型,这个函数被构造为使用新操作符的构造函数,它的返回值将被丢弃。新表达式的结果仍然是这个引用的对象。
复制代码代码如下所示:
功能测试()
{
这个= 10;
返回1;
}
警报M =新测试();
var =测试();
警报(m)返回{对象}
警报(n)1。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。