Javascript中的新对象与非实例化对象之间的区别
功能我(姓名,年龄,工作){
this.name =名称;
this.age =年龄;
this.job =工作;
}
下面两个实例化对象的例子有什么区别
无功mefun1 =新的我('fei,20,);
无功mefun2 =我('fei,20,);
简单的说
第一个是构造函数,也就是通过调用构造函数来创建函数。
第二个没有实例化,但是调用函数将返回值赋给变量。
再扩展
Javascript中没有真正的类,但Javascript中有构造函数和new操作符。构造函数用于初始化实例对象的属性和值。任何Javascript函数都可以用作构造函数,构造函数必须使用新操作符作为前缀来创建一个新实例。
新操作符更改函数的执行上下文并更改返回语句的行为。事实上,使用new和构造函数类似于传统的类语言实现:
实例化一个
Var Alice =新的我(爱丽丝',18,'coder);
此示例检查
断言(爱丽丝是我);
构造函数的名称通常使用驼峰命名法,第一个字母大写,这与普通函数不同。
一种成语。
/不要这样做!
我(爱丽丝,18;未定义,'coder ') / / = >
这个函数只返回到未定义的,执行上下文是一个窗口(全局)对象,它无意中创建3个全局变量,名称,年龄,工作。
当使用new关键字来调用构造函数,执行上下文从全局对象(窗口)转化到一个空的背景下,这代表着新生成的实例。因此,这个关键词指向当前创建的实例。相同的是,在其他语言中内置的类机制实施的真实,虽然它是有点绕。
默认情况下,如果您在构造函数中不返回任何内容,则返回到当前上下文。
否则,返回任何非原始类型的值。
以上是本文的全部内容,希望大家能喜欢。