javascript中new关键字的本质是什么

简介: javascript中new关键字的本质是什么

new的时候。

(补充:最近在看es6的一些知识,有幸看到了关于new关键字的一些知识点,特在此补充。希望对您有所帮助。)

内容如下:



javascri函数有两个不同的内部方法:[ [ Call ] ]     和 [ [ Construct ] ]


(1)new关键字调用函数时,

        ①执行的是 [ [ Construct ] ]方法(创建一个通常被称作实例的新对象)

        ②执行函数体,也就是函数中的语句

        ③将this绑定到这个实例上


(2)不通过new关键字调用函数时,

        那么则执行方法,然后直接执行代码中的函数体


(3)构造函数的定义:具有 [ [ Construct ] ]方法的函数统称为构造函数

new的时候做四件事:



①新产生一个对象

②让this指向新产生的对象

③执行这个函数

④会返回这个新创建的对象。


相关文章
|
5月前
|
JavaScript 前端开发 Java
【面试题】new 一个对象时,js 做了什么?
【面试题】new 一个对象时,js 做了什么?
|
1月前
|
JavaScript
ES6学习(9)js中的new实现
ES6学习(9)js中的new实现
|
4月前
|
JavaScript 前端开发 开发者
JavaScript中的const关键字解析
JavaScript中的const关键字解析
|
4月前
|
JavaScript 前端开发
JavaScript变量命名规则及关键字详解
JavaScript变量命名规则及关键字详解
|
4月前
|
自然语言处理 JavaScript 前端开发
在JavaScript中,this关键字的行为可能会因函数的调用方式而异
【6月更文挑战第15天】JavaScript的`this`根据调用方式变化:非严格模式下直接调用时指向全局对象(浏览器为window),严格模式下为undefined。作为对象方法时,`this`指对象本身。用`new`调用构造函数时,`this`指新实例。`call`,`apply`,`bind`可显式设定`this`值。箭头函数和绑定方法有助于管理复杂场景中的`this`行为。
55 3
|
4月前
|
JavaScript 前端开发 C++
JavaScript中的let关键字详解
JavaScript中的let关键字详解
|
5月前
|
自然语言处理 JavaScript 前端开发
在JavaScript中,this关键字的行为可能会因函数的调用方式而异
【5月更文挑战第9天】JavaScript中的`this`关键字行为取决于函数调用方式。在非严格模式下,直接调用函数时`this`指全局对象,严格模式下为`undefined`。作为对象方法调用时,`this`指向该对象。用`new`调用构造函数时,`this`指向新实例。通过`call`、`apply`、`bind`可手动设置`this`值。在回调和事件处理中,`this`可能不直观,箭头函数和绑定方法可帮助管理`this`的行为。
37 1
|
5月前
|
JavaScript 前端开发
JavaScript 关键字
【5月更文挑战第2天】JavaScript 关键字。
51 2
|
5月前
|
JavaScript 前端开发 数据安全/隐私保护
|
5月前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
【4月更文挑战第23天】JavaScript的this关键字根据执行环境指向不同对象:全局中指向全局对象(如window),普通函数中默认指向全局对象,作为方法调用时指向调用对象;构造函数中指向新实例,箭头函数继承所在上下文的this。可通过call、apply、bind方法显式改变this指向。
29 1