`
jinhailion
  • 浏览: 47821 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

javascript 中的new

 
阅读更多
new的试验结果,详细的查网上new的讲解,这里记录下简单的现象。
一般来说,对于一个构造器函数如果用new会创建一个对象,但如果这个构造器函数里奇怪的去return一个返回值,那么如果这个返回值的类型是函数类型,那么构造器就按这个返回的东西来构造,比如最常见的
var Dog = function(){
    this.name = "dahuang";
}
var dog = new Dog()

控制台查看dog变量,显示
Dog {name: "dahuang"}

var Dog = function(){
    this.name = "dahuang";
    return 123;
}
var dog = new Dog()
var dog2 = Dog()

控制台查看dog变量,还是显示
Dog {name: "dahuang"}
查看dog2变量,显示
123

在new的时候,return没有起作用。这时,去return一个函数类型看看
var Dog = function(){
    this.name = "dahuang";
    return function(){
        this.age = 18;
    };
}
var dog = new Dog();
var dog2 = Dog();

控制台查看dog变量和dog2变量,都显示:
function (){
        this.age = 18;
    }
即,如果构造函数return的类型是函数类型,那么new和不new效果一样。都返回return的这个函数类
分享到:
评论

相关推荐

    【JavaScript源代码】JavaScript中new操作符的原理示例详解.docx

    在JavaScript中,`new`操作符是一个至关重要的概念,它用于通过构造函数创建新的对象实例。构造函数是一种特殊类型的函数,通常用来初始化新创建的对象。接下来我们将深入探讨`new`操作符的工作原理,并通过示例进行...

    详解Javascript中new()到底做了些什么?

    和其他高级语言一样 javascript 中也有 new 运算符,我们知道 new 运算符是用来实例化一个类,从而在内存中分配一个实例对象。 但在 javascript 中,万物皆对象,为什么还要通过 new 来产生对象? 本文将带你一起来...

    JavaScript中new运算符的实现过程解析

    JavaScript中的new运算符是用于创建对象的一个重要关键字。它允许我们从一个构造函数中创建一个特定类型的对象。new运算符在执行时会执行以下步骤: 1. 创建一个新的空对象; 2. 将新对象的原型链(__proto__属性)...

    javascript中new关键字详解

    本文给大家详细介绍了下javascript中new关键字的使用方法,以及javascript 使用new关键字的区别,有需要的小伙伴可以参考下。

    浅谈javascript中new操作符的原理

    javascript中的new是一个语法糖,对于学过c++,java 和c#等面向对象语言的人来说,以为js里面是有类和对象的区别的,实现上js并没有类,一切皆对象,比java还来的彻底 new的过程实际上是创建一个新对象,把新象的...

    javascript中new Array()和var arr=[]用法区别

    在JavaScript中,定义数组有两种常见的方法:使用字面量方式定义数组(var arr=[])和使用构造函数new Array()。这两种方式在功能上看似相同,但在实际使用中,它们之间存在一些细微的差别。下面将详细介绍这两种...

    javascript中数组、对象

    在JavaScript中,数组和对象是两种非常基础且重要的数据结构,它们被广泛应用于各种场景,如数据存储、逻辑处理和对象表示。这篇文章将深入探讨这两种数据类型,以及相关的操作和工具。 **一、数组** 数组在...

    详解javascript new的运行机制

    在JavaScript中,new运算符是一个非常重要的概念,它用于创建一个实例对象。要理解JavaScript中new的运行机制,首先需要了解JavaScript中函数、原型、原型链、this等基础知识。 首先,JavaScript中函数不仅仅可以被...

    Get Programming with JavaScript Next New features of ECMAScript 2015, 2016, epub

    Get Programming with JavaScript Next New features of ECMAScript 2015, 2016, and beyond 英文epub 本资源转载自网络,如有侵权,请联系上传者或csdn删除查看此书详细信息请在美国亚马逊官网搜索此书

    javascript调用delphi中的函数

    3. **JavaScript调用COM组件**:在JavaScript中,可以通过`new ActiveXObject(Progid)`来实例化一个Delphi编写的COM组件,其中`Progid`是组件的程序标识符。然后,可以调用该对象的公开方法和属性。 4. **Delphi...

    Javascript中调用C++函数

    这通常涉及到在JavaScript中调用C++编写的函数,以利用C++的高性能和低级特性。本文将深入探讨如何实现这一目标,特别是在MFC(Microsoft Foundation Classes)框架下。 首先,理解基础原理:JavaScript是一种解释...

    javascript new 需不需要继续使用.docx

    ### JavaScript中的`new`操作符是否仍需使用? 在探讨`new`操作符在现代JavaScript开发中的使用情况之前,我们先来明确一下`new`的基本功能。`new`操作符主要用于实例化对象,通过调用构造函数来创建一个新的对象...

    基于JavaScript的new_kpi KPI管理系统设计源码

    本项目是基于JavaScript的new_kpi KPI管理系统设计源码,包含1386个文件,其中包括320个JavaScript文件、281个PNG图片文件、209个CSS文件、157个HTML文件、75个JAR文件、66个JPG图片文件、66个LESS文件、40个Java...

    JavaScript中使用Json范例

    JavaScript中的JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的一个子集。JSON采用完全独立于语言的文本格式,但也使用了类似于C家族语言,包括C、C++、C#、Java、JavaScript、...

    Javascript 面向对象的JavaScript进阶

    在JavaScript中,可以通过构造函数或类来创建对象,并通过定义方法来隐藏具体的实现细节。此外,ES6引入了类的概念,进一步增强了抽象的能力。 **示例代码:** ```javascript class USBDevice { constructor(name)...

    基于Javascript的New Bing AI对话插件设计源码

    本项目是基于Javascript开发的New Bing AI对话插件,包含88个文件,其中包括46个JavaScript脚本文件、22个JSON配置文件、8个HTML页面文件、7个CSS样式表文件、1个gitignore文件、1个LICENSE文件和1个Markdown文档...

Global site tag (gtag.js) - Google Analytics