JavaScript之构造函数内有return详解
来源:互联网 发布:中小企业网络搭建 编辑:程序博客网 时间:2024/05/22 03:52
默认情况下,我们的构造函数是没有return语句的,构造函数里面的this会指向将来实例化对象的,也就是new Object()后的对象。
但是如果,构造函数里面添加return,会怎么样呢?
首先来看案例:构造函数function Person(){} ,实例化对象new Person。以下就是构造函数中return不同数据,实例化对象也会返回不同数据:
<script> function Person(){// return 123; //值类型// return "abcdef"; //值类型// return ["a","b"]; //引用类型// return {a:2}; //引用类型 return function(){ console.log(1)}; //引用类型 } Person.prototype.sayHello = function() { console.log('hello world'); }; console.log(new Person());//new Person()分别返回以下:// 1. Person{}// 2. Person{}// 3. ["a","b"];// 4. Object {a:2}// 5. function(){ console.log(1)};</script>
可以看出:在JavaScript构造函数中:如果return值类型,那么对构造函数没有影响,实例化对象返回空对象;如果return引用类型(数组,函数,对象),那么实例化对象就会返回该引用类型;
function Super(a){ this.a=a; return 123;}Super.prototype.sayHello=function(){ console.log("Hello")}function Super1(a){ this.a=a; return {a:2};}Super1.prototype.sayHello=function(){ console.log("Hello")}console.log(new Super(1)); //返回Super{a:1},有原型方法sayHelloconsole.log(new Super1(2)); //返回Object{a:2},没有原型方法sayHello
Demo源码地址:https://github.com/spicyboiledfish/JavaScript-testJS
2 0
- JavaScript之构造函数内有return详解
- javascript 构造函数内return 解析
- JavaScript构造函数详解
- JavaScript 面向对象之构造函数+成员函数详解
- JavaScript之构造函数
- javascript构造函数之稳妥构造函数
- java之构造函数详解
- javascript中的return 详解
- javascript内建的全局函数详解
- javascript中return、return false、return true有什么区别?
- javascript 之 return
- JavaScript之return false
- javascript学习之函数的参数和return语句
- javascript中函数直接量函数构造函数应用详解
- Javascript面向对象之构造函数模式
- JavaScript之对象、构造函数、包装类
- javascript之面向对象、构造函数
- C++之显式构造函数详解
- tablayout 属性详细介绍
- Dubbo Failed to save registry store file, cause: Can not lock the registry cache file
- 基于STM32CUBEMX的STM32F103_FSMC_LCD应用
- TCP/IP详解学习笔记(2)-数据链路层
- springMVC-后端控制器
- JavaScript之构造函数内有return详解
- 【Android-Emulator】Android模拟器介绍和基本使用
- 用android studio写个ping的程序(二)
- 阿里云服务器支持ipv6(苹果app审核不通过问题)
- (ing)一周一誌临时(2017-4月-2017-5月)
- 从传统SQL语句平稳过渡到Linq
- android绘图Paint.setXfermode()和Canvas.saveLayer()方法的作用
- RxSwift(3.4.1)- Transforming Operators
- Android 下 编写自己第一个NDK Demo