JavaScript 构造函数返回值对实例对象的影响分析
作者:半夏时间:2026-10-23 09:55:18浏览:460
本文通过三个具体代码示例,深入分析 JavaScript 构造函数中不同返回值对实例对象的影响。当构造函数无返回值或返回原始类型(如字符串)时,实例仍为构造函数创建的对象;若返回对象类型(如 String 对象),则实例变为该返回对象。理解这一机制有助于避免原型链断裂及属性丢失问题。
JavaScript 构造函数返回值行为分析
参考《JavaScript 核心》第 151 页内容。
发布时间:2008-11-25
*/
具体代码实现如下:
// 情况一:构造函数没有显式返回值
function Test0(){
this.name='test0';
}
var test0=new Test0;
//debugger;
alert(test0);// 输出 [Object]
alert(test0.name);// 输出 test0
// 情况二:构造函数返回一个字符串对象
function Test(){
this.name='test';
return new String('123');// 返回字符串对象
}
var test=new Test();
alert(test);// 输出 123
alert(test.name);// 输出 undefined,说明有构造函数创建的对象是字符串对象
// 情况三:构造函数返回一个原始类型字符串
function Test2(){
this.name='test2';
return '123';// 返回字符串对象
}
var test2=new Test2();
alert(test2);// 输出 [Object]
alert(test2.name);// 输出 test0作者最新文章
JavaScript闭包与类(Class)的区别及适用场景对比
2026-11-05 15:48:57
JavaScript入门要学ES6吗?let与箭头函数等新特性解析
2026-11-05 14:49:16
JavaScript 8种数据类型详解:基本类型与引用类型的区别
2026-11-05 14:25:15
怎么在JavaScript中使用async/await优化Ajax异步流程
2026-11-05 13:56:15
JavaScript replace回调函数实现动态正则替换逻辑
2026-11-05 13:52:13
