gpt4 book ai didi

IE 中的 JavaScript : 'this' keyword refers to window object (? )

转载 作者:行者123 更新时间:2023-11-28 20:35:04 24 4
gpt4 key购买 nike

我在代码中创建了一个 JS 对象(模块模式):

var Validator = {
regexEmail: /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/,

settings: {
error_class: "error-field",
formValid: true
},

init: function (form, default_error_class) {
self = this;
alert(self == window);
},
};

在 chrome 上运行“init”函数时,我得到 false self == window (预期)。但当我在 IE9 上尝试时,我明白了(!)。你能告诉我为什么吗?我希望“this”捕获我的自定义验证器对象而不是窗口

最佳答案

在定义“ self ”时修复范围。另外,使用显式而不是隐式比较器,即 === 而不是 ==。

var Validator = {
regexEmail: /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/,

settings: {
error_class: "error-field",
formValid: true
},

init: function (form, default_error_class) {
var self = this;
alert(self === window);
},
};

Validator.init();

关于IE 中的 JavaScript : 'this' keyword refers to window object (? ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15596740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com