javascript - 执行 IIFE 后变量中的值错误(带有函数参数)
问题描述
在这个例子中,我传递foo.bar
给一个 IIFE,它返回执行第一个参数。我正在传递一个被执行的函数,返回this
(指向窗口)。
所以,return 存储在a
which should be 中window
。那么,为什么它返回我的论点本身?
var foo = {
bar: function() {
console.log("***", this);
return this;
},
baz: 1
};
var a = (function(){
console.log("window?", this===window);
return arguments[0]();
})(foo.bar);
console.log("a", a);
解决方案
推荐阅读
- java - Java:用于匹配引号之间的单词的正则表达式
- r - 使用 gganimate 并得到各种错误
- c# - 想填一个
从字典填充 ToggleButtons - mattermost - Mattermost API 使用 powershell 创建直接消息通道
- postgresql - 使用 terraform 创建只读 postgres 用户
- python - djangorestframework ModelSerializer 序列化模型对象但数据为空{}
- python - 为什么当python后台另一个值发生变化时输入命令不起作用
- python - dict中函数的执行顺序
- python - 嵌套案例 sqlite 查询
- python - 计算嵌套 for 循环中的行数