犀牛书9.1写道:
The new operator must be followed by a function invocation. It creates a new object, with no properties and then invokes the function, passing the new object as the value of the this keyword. A function designed to be used with the new operator is called a constructor function or simply a constructor. A constructor's job is to initialize a newly created object, setting any properties that need to be set before the object is used.
可以看到,javascript里的new和java里的new区别还是很大的,不要理解成同一个东西就对了。
实际上,任何function都可以跟在new后面,比如说:
function test() {
var o = new Con("hello 2011");
}
function Con(msg) {
alert("this is the message: " + msg);
}
虽然Con的本意并不是一个构造函数,但是在语法上却是没有错误的。执行test()函数,实际上就是先创建了一个普通的Object,然后执行Con()函数而已。不过这个时候Con()函数被视为Object的一个方法,相当于o.Con(msg)。所以这个时候函数体内的this就是o。(当然上面的例子里,函数体内并没有this)
分享到:
相关推荐
C语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 NEW.HC语言头文件 ...
C语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言头文件 NEWC语言...
New Report New Report New Report New Report
1 ,malloc 与free 是C++/C 语言的标准库函数,new/delete 是C++ 的运算符。它们都可用于申请动态内存和释放内存。 2 ,对于非内部数据类型的对象而言,光用...new 是个操作符,和什么"+","-","="……有一样的地
vc6是不支持new失败时抛出异常的。本文使用windows的api来让new在失败时抛出异常。
new操作符(new operator)和operator new的区别,会很有帮助
ucwap new for new
Java中new关键字和newInstance() 的区分。
1、本工具利用python语言编写的,所传的资源是对应的python文件,里面的make_new_old函数可用于基于修改的代码生成new和old文件,对比修改; 2、make_new_old(gitdir,workdir,output),参数gitdir:git命令所在路径...
怎么解决打开浏览器弹出what's new界面
new的动态gif图,有60个,做网页时能用到,gif动态的。
vc中如何让new操作失败后抛出异常
new(最新)new(最新)new(最新)new(最新)
system.new.dat与system.new.dat.br互转工具
编写代码,举例说明new/delete与new[]/delete[]在创建对象时申请内存,以及释放空间时的区别
Thinking Big Data in Geography New Regimes, New Research 英文无水印原版pdf pdf所有页面使用FoxitReader、PDF-XChangeViewer、SumatraPDF和Firefox测试都可以打开 本资源转载自网络,如有侵权,请联系上传者...
谷歌 new tab redirect插件