JavaScript 实践+理论(总结篇):作用域、闭包、this、对象原型

您所在的位置:网站首页 创建对象时 JavaScript 实践+理论(总结篇):作用域、闭包、this、对象原型

JavaScript 实践+理论(总结篇):作用域、闭包、this、对象原型

2024-07-17 18:11:05| 来源: 网络整理| 查看: 265

是否在 new 中调用(new 调用), this 指向新创建的对象

function Foo() { // do something } let f = new Foo(); 是否通过 call, apply(显示绑定), this 指向绑定的对象 // call() function foo() { console.log(this.a); } var obj = { a: 2, }; foo.call(obj); // 2 // apply() function foo(something) { console.log(this.a, something); return this.a + something; } var obj = { a: 2, }; var bar = function () { return foo.apply(obj, arguments); }; var b = bar(3); // 2 3 console.log(b); // 5 // bind() function foo(something) { this.a = something; } var obj1 = {}; var bar = foo.bind(obj1); bar(2); console.log(obj1.a); // 2 var baz = new bar(3); console.log(obj1.a); // 2 console.log(baz.a); // 3 是否在某个对象中调用(隐式绑定), this 指向绑定对象的上下文 // eg1: function foo() { console.log(this.a); // 2 } var obj = { a: 2, foo: foo, }; obj.foo(); // eg2: function foo() { console.log(this.a); } var obj2 = { a: 42, foo: foo, }; var obj1 = { a: 2, obj2: obj2, }; obj1.obj2.foo(); // 42 如果都不是,则是默认绑定,在严格模式下,this 指向 undefined。非严格模式下, this 指向全局对象。 function foo() { console.log(this.a); } var a = 2; foo(); // 2 // 严格模式下的位置 function foo() { 'use strict'; console.log(this.a); } var a = 2; foo(); // Type: this is undefined function foo() { console.log(this.a); } var a = 2; (function () { 'use strict'; foo(); // 2 });

箭头函数不会使用上述四条规则,而是根据当前的词法作用域来决定 this 的,箭头函数会继承外层函数的 this。

注意:对于默认绑定来说,决定 this 绑定对象的并不是调用位置是否处于严格模式,而是函数体是否处于严格模式。如果函数体处于严格模式,this 会被绑定到 undefined, 否则 this 会绑定到全局对象。

优先级问题

显式绑定:call()、apply()。(硬绑定也是显式绑定的其中一种: bind())new 绑定: new Foo()隐式绑定: obj.foo();默认绑定: foo();


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


    图片新闻

    实验室药品柜的特性有哪些
    实验室药品柜是实验室家具的重要组成部分之一,主要
    小学科学实验中有哪些教学
    计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
    实验室各种仪器原理动图讲
    1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
    高中化学常见仪器及实验装
    1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
    微生物操作主要设备和器具
    今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
    浅谈通风柜使用基本常识
     众所周知,通风柜功能中最主要的就是排气功能。在

    专题文章

      CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭