javascript - 有人可以向我解释为什么“this”不等于以下javascript IIFE代码中的win或window吗?
问题描述
在下面执行这段代码时,结果是假的,为什么?“这个”与什么有关?我期望两个警报语句中的结果都是正确的
(function(win){
alert("this == win: "+ this == win); // false
alert("this == window: "+ this == window); // false
})(window);
解决方案
这与这个不相等的窗口无关,这是一个操作顺序问题....
解析器看到的是这样的:
("this == win: "+ this) == win
添加正确的括号
(function(win){
console.log("this == win: "+ (this == win));
console.log("this == window: "+ (this == window));
})(window);
推荐阅读
- android - Firebase 身份验证电话重新注册
- javascript - 数学四舍五入并在 div 中显示
- javascript - jQRangeSlider 不能与 Bootstrap 一起使用?版本冲突?
- mysql - 使用 Cakephp-3 中的迁移文件向 Mysql 中的列添加触发器
- swift - Swift 在函数中添加子视图
- c# - 使用存储过程检索数据
- java - 从 TextView 文本设置 TimePicker 时间
- java - 最高的 jvm 参数来加速我的 java 程序
- python - 二维数组作为 Pytorch 中的索引
- html - 有没有办法根据使用 SASS 的内容将样式应用于跨度?