`

javascript学习笔记:new运算符

阅读更多
作为一个学习过其他语言的程序员来说,对new肯定不陌生。 我一度也是这样。

但是前两天突然想到这样的代码时,我就懵了。


function Person(name){
 this.name = name;
}

var p1 = new Person("mike");
var p2 = Person("jack"); /*这个不会报错,这里Person作为函数被调用,该函数没有返回任何值,所以p2是undefined,作为一个java程序员,我当时在这里确实懵了*/
console.log(p1);
console.log(p2);


之所以有疑惑,还是因为对javascript的函数理解不够。

经过查阅资料,就是作为参考书的《JavaScript权威指南(第五版)》,大概弄清楚了,但是还不够清楚。

1、 new是一个运算符,它首先创建一个对象,该对象的属性都未定义,接下来,它将调用特定的构造函数,传递指定的参数,此外还要把新创建的对象传递给关键字this。这样构造函数就可以使用关键字this来初始化新对象。

2、没有参数时,可以省去括号。
分享到:
评论

相关推荐

    个人Javascript学习笔记 精华版

    个人Javascript学习笔记 精华版 本资源为个人Javascript学习笔记的精华版,涵盖了Javascript的基础知识、事件处理、对象和系统函数、浏览器对象等方面的内容。下面是对每个知识点的详细说明: 1. 什么是JavaScript...

    javascript学习笔记.docx

    这篇学习笔记主要涵盖了JavaScript的基础语法和客户端JavaScript的相关知识。 1. **JavaScript基本语法**: - **变量声明**:未声明的变量尝试读取时会产生错误,而写入未声明的变量会创建一个全局变量。 - **...

    JavaScript基础教程笔记

    ### JavaScript基础教程笔记知识点 #### 一、JavaScript简介 - **定义**:JavaScript是一种轻量级的编程语言,主要用于Web浏览器中的网页交互控制。 - **发展历史**:1995年由Netscape公司的Brendan Eich设计并...

    很有价值的javascript学习笔记

    ### JavaScript 学习笔记知识点详解 #### 一、JavaScript 基础概念 - **JavaScript 与 Java 的区别**:JavaScript 和 Java 是两种完全不同的编程语言。Java 是一种静态类型语言,而 JavaScript 是动态类型的解释性...

    Javascript学习笔记-详解in运算符

    JavaScript中的`in`运算符是用于检测对象是否包含指定的属性或键值。它有两种主要用法:一种是作为判断运算符,另一种是在`for...in`循环中遍历对象属性。 ### 一、判断运算符 #### 1.1 语法与行为 ```markdown ...

    前端学习笔记-黑马程序员JS

    "前端学习笔记-黑马程序员JS" ...这篇前端学习笔记涵盖了 JavaScript 的基础知识,包括变量、数据类型、运算符、流程控制、数组、函数、对象、内置对象和 Web APIs 等知识点,为学习 JavaScript 提供了系统的指导。

    javascript学习笔记

    这篇学习笔记主要涵盖了JavaScript的基础知识,包括脚本标签、基本语法、变量声明、数据类型、运算符以及函数的定义与调用。 1. **脚本标签**:在HTML文档中,`<script>`标签用于插入JavaScript代码。它可以放置在...

    JavaScript学习笔记

    这只是JavaScript学习笔记中的一小部分,JavaScript还包括变量、数据类型、运算符、控制结构、函数、对象和类等众多主题,每个主题都值得深入学习和实践。继续探索和理解JavaScript,可以提高网页开发的效率和质量。

    java script 学习笔记

    JavaScript 学习笔记 JavaScript 基础知识 JavaScript 是一种高级的、动态的、基于对象的脚本语言,主要用于客户端的脚本编程。 JavaScript 代码可以嵌入到 HTML 文件中,以便控制浏览器的行为。 JavaScript ...

    JavaScript的笔记

    JavaScript的笔记涵盖了从基础语法到高级特性的方方面面,旨在帮助学习者深入理解并熟练运用这门语言。 一、基础语法 JavaScript的基础语法包括变量声明(var、let、const)、数据类型(Number、String、Boolean、...

    JavaScript_StudyNote:JavaScript学习笔记

    在JavaScript_StudyNote的学习笔记中,我们可以深入理解并掌握JavaScript的基础知识和高级特性。 1. **基础语法** - 变量声明:JavaScript支持var、let和const关键字声明变量,其中let和const是ES6新增的。 - ...

    javascript+html5学习笔记

    ### JavaScript+HTML5 学习笔记详解 #### 一、JavaScript 基础知识点 **JavaScript 定义:** JavaScript 是一种广泛应用于网页开发中的脚本语言,它能够使网页具备交互功能,增强用户体验。 **JavaScript 的放置...

    Java+JDK6学习笔记

    本篇将围绕“Java+JDK6学习笔记”展开,探讨在JDK6环境下Java编程的核心知识点。 1. **JDK6概述**:JDK6是Oracle公司于2006年发布的Java平台标准版(Java SE)的一个重要版本,它的全称是Java SE 6,带来了许多新...

    JavaScript 思维导图

    - 运算符:包括算术运算符(+,-,*,/,%等)、比较运算符(==,!=,>,<等)、逻辑运算符(&&,||,!)以及三元运算符(条件表达式)。 - 表达式:由一个或多个操作数和运算符组成,可以产生值。 3. 函数: - ...

    JavaScript基础第06天笔记.md

    # JavaScript基础第06天笔记知识点详解 ## 1. 内置对象 ### 1.1 内置对象概述 在JavaScript中,对象被分为三种类型:自定义对象、内置对象以及浏览器对象。前两者属于ECMAScript的基础部分,而浏览器对象则是...

    JavaScript笔记

    根据给定的“JavaScript笔记”文件的信息,我们可以总结并扩展以下关键知识点: ### JavaScript简介 JavaScript是一种被广泛使用的脚本语言,最初由Netscape公司的Brendan Eich设计,首次发布于1995年。它起初被...

Global site tag (gtag.js) - Google Analytics