js中的new()到底做了些什么??

要创建 Person 的新实例,必须使用 new 操作符。以这种方式调用构造函数实际上会经历以下 4
个步骤:
(1) 创建一个新对象;
(2) 将构造函数的作用域赋给新对象(因此 this 就指向了这个新对象) ;
(3) 执行构造函数中的代码(为这个新对象添加属性) ;
(4) 返回新对象。

new 操作符

在有上面的基础概念的介绍之后,在加上new操作符,我们就能完成传统面向对象的class + new的方式创建对象,在JavaScript中,我们将这类方式成为Pseudoclassical。
基于上面的例子,我们执行如下代码

https://www.cnblogs.com/faith3/p/6209741.html

原文地址:https://www.cnblogs.com/zhangchs/p/9371145.html

时间: 2024-10-25 19:38:55

js中的new()到底做了些什么??的相关文章

转Rollback后undo到底做了些什么?

转自:http://biancheng.dnbcw.info/oracle/309191.html Rollback后undo到底做了些什么? 从概念上讲,undo正好与redo相对.当你对数据执行修改时,数据库会生成undo信息,这样万一你执行的事务或语句由于某种原因失败了,或者如果你用一条rollback语句请求回滚,就可以利用这些undo信息将数据还原到修改前的样子.Redo用于在失败时还原事务(即恢复事务),undo则用于取消一条语句或者一组语句的作用.与redo不同,undo在数据库内

SQL 中的 EXISTS 到底做了什么?

本文中提到的所有数据表基于王珊<数据库系统概论(第4版)>. 个人认为 SQL 中的 EXISTS 关键字对于初学者来说是比较难理解的一个,尤其是多个 EXISTS 子句的嵌套.我就写篇小文章,来简单地来解释下 EXISTS 到底做了些什么. 我们先从 SQL 中最基础的 WHERE 子句开始. 比如下面这条 SQL 语句: 很显然,在执行这条 SQL 语句的时候,DBMS 会扫描 Student 表中的每一条记录,然后把符合 Sdept = 'IS' 这个条件的所有记录筛选出来,并放到结果集

free 和delete,你到底做了些什么事情?

在指针满天飞的C/C++世界,是否已经熟悉并默认了一些东西,而让我们失去了更深刻思考的能力?也许你对new/delete 或者malloc/free已经司空见惯,可曾相关在你手下delete/free一块对内存,到底发生了什么?请看下面的程序: char *point = (char *) malloc(100); strcpy(point, "hello"); free(point); // Be careful here,point 所指的内存被释放,but point 所指的地址

JS中new都是干了些什么事情

var Person = function(name){ this.name = name; this.say = function(){ return "I am " + this.name; }; } var nyf = new Person("nyf"); nyf.say(); 1.创建一个空对象,并且this变量引用这个空对象,同时还继承了该函数的原型: 2.属性和方法都被加入到this引用的对象当中: 3.新创建的对象由this引用,并且最后隐式的返回th

用简单的方法实现js中日期的加减法

今天就算对JS中日期的加减法做个总结,一共两步 第一步,引入date.format.js,这个JS的作用是将日期转为指定的格式,代码如下 var dateFormat = function () {     var    token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,         timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mount

4 js中的new 做了什么

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script> //任意函数都可以使用new关键字进行调用 通过new使得普通的函数变成了构造函数 //一般情况下构造函数的首字母需要大写 //new关键字

今天学习js做了些总结,分享给大家

一.1.javascript的作用   是基于对象和事件驱动的语言,应用于客户端   基于对象:提供好了很多对象,可以直接拿过来使用,不需要创建   事件驱动: html做网站静态效果,javascript动态效果,,例如:按钮的单击   客户端:专门指的是浏览器 2.js的特点 (1)交互性        - 信息的动态交互 (2)安全性        - js不能访问本地磁盘的文件 (3)跨平台性      - java里面跨平台性,虚拟机  - 只有能够支持js的浏览器,都可以运行3.ja

js中三目运算符和&amp;&amp; || 符的个人浅见

这两天看到别人写的代码,感觉很牛逼,如下,大神请忽视 $(".lgn").on("click", function() { var a = {}; a.loginType = $(this).data("logintype"); a.loginType == wx_utils.LOGIN_TYPE.WX ? (a.username = $("#username").val(), a.password = $("#pa

浅析JS中的模块规范(CommonJS,AMD,CMD) http://www.2cto.com/kf/201411/348276.html

如果你听过js模块化这个东西,那么你就应该听过或CommonJS或AMD甚至是CMD这些规范咯,我也听过,但之前也真的是听听而已. 现在就看看吧,这些规范到底是啥东西,干嘛的. 一.CommonJS CommonJS就是为JS的表现来制定规范,因为js没有模块的功能所以CommonJS应运而生,它希望js可以在任何地方运行,不只是浏览器中. CommonJS能有一定的影响力,我觉得绝对离不开Node的人气,不过喔,Node,CommonJS,浏览器甚至是W3C之间有什么关系呢,我找到了个贴切的图