JavaScript 嵌套函数中 this 指向问题与解决方案
作者:拾光时间:2026-10-29 00:02:24浏览:361
本文探讨JavaScript中嵌套函数调用时this指向丢失的问题。通过示例展示在外部函数保存this引用为变量,并在内部函数使用该变量来正确访问外部上下文对象的方法,解决常见的作用域陷阱。
JavaScript 嵌套函数中 this 指向问题与解决方案
代码示例如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<script>
var stu = {
m: function() {
var self = this;
console.log(this === stu); // ==> true;
function f() {
// 调用嵌套函数时this不是指向调用外层函数的上下文
console.log(this === stu); // ==> false;
// 若想访问外部函数的this,需将外部函数的this保存在一个变量中。
console.log(self === stu); // ==> true;
}
f();
}
}
</script>
<body>
</body>
</html>作者最新文章
JS处理含Emoji或中文的字符串转数组乱码问题
2026-11-05 16:12:28
JS怎么使用展开运算符合并对象
2026-11-05 14:42:18
ES6+环境下判断JS对象为空的简洁写法
2026-11-05 12:12:23
怎么通过replacer函数自定义JS中JSON的格式化输出
2026-11-05 11:19:44
JS正则表达式基础:字面量与RegExp构造函数的区别及常用元字符
2026-11-05 11:16:58
