请问javscript的new问题?

来源:百度知道 编辑:UC知道 时间:2024/05/09 07:21:45
请问javscript的new问题?
new a()
new Array()

谁能说说新建对象步骤?

[小弟我买的是javascript权威指南,就是画的是犀牛的书,第五版的]

犀牛说:new运算符用来创建一个新的对象,并调用构造函数初始化它,new是一个一元运算符,

出现在构造函数的调用之前.

运算符new首先创建一个新对象,该对象的属性都未被定义,接下来,它将调用特定的构造函数,

传递指定的参数,此外还要把新创建的对象传递给关键字this,这样构造函数就可以使用关键字this来

初始化新对象,

第一句var s=new a()

第一步:new 先创建一个空对象,空对象就是没有任何属性.

第二步:调用a()构造函数

第三步:将第一步创建的空对象传递给this!(注:具体不知道他是怎么传递的,谁能解释解释?).

第四步:构造函数使用this来初始化新对象!(注:谁能详细解释解释构造函数是怎么使用this来初始化新对象的?)

第五步:返回对象给变量s

var a=new Array()这句也是构造函数用this来初始化新对象的.

Array()这个构造函数会返回一个object数组对象,由typeof(Array())得知的.

那么构造函数先返回数组对象,然后数组对象是怎么用this来初始化新对象的,谁能详细解释一下.

对于new的理解,建议去看看李站写的《悟透javascript》 ,javascript中new的使用不能用c/c++的那种对象思维去理解了。在这里讲一点点你也只是半知半懂,所以直接建议你去看书。只是电子书!