一般构造函数没有返回值,他们通过关键字this初始化对象,没有返回值。当然一个构造器允许返回一个对 象,如果这样的话 返回的对象将变成new 表达式的值,在这种情况下值为this的对象将抛弃
/*
*(REFER TO <JAVASCRIPT CORE>P151)
*@time 2008-11-25
*/
复制代码 代码如下:
//没有返回值
function Test0(){
this.name='test0';
}
var test0=new Test0;
//debugger;
alert(test0);//输出[Object]
alert(test0.name);//输出test0
//return 一个字符串对象
function Test(){
this.name='test';
return new String('123');// 返回字符串对象
}
var test=new Test();
alert(test);//输出123
alert(test.name);//输出undefined,说明有构造函数创建的对象是字符串对象
//return 一个原始类型字符串
function Test2(){
this.name='test2';
return '123';// 返回字符串对象
}
var test2=new Test2();
alert(test2);//输出[Object]
alert(test2.name);//输出test0