javascript 构造函数内return 解析
来源:互联网 发布:大非农数据利空金银 编辑:程序博客网 时间:2024/06/02 02:43
首先我们都知道js中构造函数一般应该是这样的
function Super (a) { this.a = a;}Super.prototype.sayHello = function() { alert('hello world');}但如果在构造函数中 加入 return 会是什么结果呢
function Super (a) { this.a = a; return {a: 2};}Super.prototype.sayHello = function() { alert('hello world');}
new 这个构造函数会返回什么?
Object {a: 2}
为什么会这样?我们的构造函数和原型上的方法呢?别急 我们再来 列出集中情况
//直接 returnfunction A(){ return;}//返回 数字类型function B(){ return 123;}//返回 string类型function C(){ return "abcdef";}//返回 数组function D(){ return ["aaa", "bbb"];}//返回 对象function E(){ return {a: 2};}//返回 包装类型function F(){ return new Number(123);}
结果分别是
A {}B {}C {}["aaa", "bbb"]Object {a: 2}Number {[[PrimitiveValue]]: 123}A {}
我们可以看出 return 基本类型 会返回一个空对象
而返回对象类型 则会返回这对象
与我们常用的那个构造函数相结合
function Super (a) { this.a = a; return 123;}Super.prototype.sayHello = function() { alert('hello world');}function Super_ (a) { this.a = a; return {a: 2};}Super_.prototype.sayHello = function() { alert('hello world');}
分别new Super(1); new Super_(1);
结果是
Super {a: 1} 具有原型方法sayHello
Object {a: 2}
好了现在我们总结下 在构造函数中 return 基本类型 不会影响
构造函数的值而 return 对象类型 则会替代构造函数返回该对象
0 0
- javascript 构造函数内return 解析
- JavaScript之构造函数内有return详解
- JavaScript构造函数解析
- JavaScript构造函数解析
- js中构造函数new与return
- return C++构造函数的返回值
- js中构造函数的return用法
- c++构造函数解析
- 构造函数 实例解析
- javascripte构造函数解析
- 构造、解析函数
- 构造函数解析
- Javascript构造函数
- JavaScript构造PHP函数
- JavaScript 构造函数
- JavaScript构造函数
- JavaScript之构造函数
- JavaScript构造函数浅谈
- 判断单链表是否存在环,判断两个链表是否相交问题详解
- jsp学习----纯jsp页面
- 【leetcode】Linked List Cycle II,判断链表是否有环
- MySQL学习----MySQL 算术运算符----08MySQL 逻辑运算符与位运算符
- 0907Android数据存储
- javascript 构造函数内return 解析
- 制作word生成器感悟
- 第2周项目1 函数参数传递的三种方式
- POJ3650解题报告
- 提交用户名和密码到指定的服务器
- [LeedCode OJ]#19 Remove Nth Node From End of List
- Mms 短信设置里添加常用短信时出现错误的解决办法
- 06-查看dns
- 机房收费——“上下机”还原生活