博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript中嵌套函数的this关键字的理解
阅读量:4572 次
发布时间:2019-06-08

本文共 881 字,大约阅读时间需要 2 分钟。

我们都知道,在方法调用中,this指代的是方法所属的对象,如以下代码:

obj.test(console.log(this === obj)); //返回true

但是在嵌套函数中,情况就发生了很大变化。这需要分为两种情况:严格模式和非严格模式

//非严格模式下var obj = {    test:function (){        var self = this;        console.log(this === obj); //true        f();        function f(){            console.log(this === obj); //false            console.log(self === obj); //true            console.log(this === window);  //true            };        }    };obj.test();
//严格模式下"use strict"var obj = {    test:function (){        var self = this;        console.log(this === obj);  //true        f();        function f(){            console.log(this === obj);  //false            console.log(self === obj);  //true            console.log(this === window);  //false            console.log(this === undefined);  //true            };        }    };obj.test();

 

转载于:https://www.cnblogs.com/princeding/p/4438616.html

你可能感兴趣的文章
【UOJ 92】有向图的强联通分量
查看>>
bzoj 1192
查看>>
Windows10/Servers 2016的TrustedInstaller权限获取(及乱改System后救砖
查看>>
关于mysql转移数据库时没有导出sql脚本的情况下,如何导入数据到新的数据库中...
查看>>
链表逆序
查看>>
[zz]链表倒序
查看>>
简单易用的图像解码库介绍 —— stb_image
查看>>
【漏洞复现】永恒之蓝 ms17-010 漏洞利用 攻击手法
查看>>
HTML标签(二)
查看>>
在weblogic下运行Python脚本
查看>>
短信开发技术总结--协议篇
查看>>
HashMap实现原理分析
查看>>
私有类方法
查看>>
java网络编程Socket通信详解
查看>>
为什么使用Nosql:Nosql和SQL的区别
查看>>
<转>DNS服务系列之二:DNS区域传送漏洞的安全案例
查看>>
LINUX中常用操作命令
查看>>
【android】动画效果研究(View)【1】
查看>>
(三)常用的数学函数
查看>>
生产信息集成分析平台(MIIAS V1.0) 概述
查看>>