gpt4 book ai didi

javascript - jQuery 回调 - 严格违反

转载 作者:数据小太阳 更新时间:2023-10-29 05:16:24 26 4
gpt4 key购买 nike

strict mode outlined here 中,我得到关于 this 不在 method 中的基本想法,但老实说,它有点博学。因此,用更平淡的术语来说:

我有一个这样的处理程序:

$('.myClass').one('keyup', function() {
var $this = $(this);
etc etc
});

我想改成这样:

function myFunction () {
var $this = $(this);
etc etc
};
$('.myClass1').one('keyup', myFunction);
$('.myClass2').one('keyup', myFunction); etc

它不喜欢它,因为在 strict mode 中,因为我在方法之外使用 this。我明白了。

但是,我需要将 myFunction 与处理程序分开,因为 (1) 它附加到各种类/元素,并且 (2) 我正在使用 .off().one( 'keyup', myFunction) 为不同点的不同类重置 one 处理程序。

那么如何在不违反 this 业务的情况下绕过单独的回调函数?

最佳答案

I get the basic idea about this not being in a method when in strict mode...

是的,但是您混淆了两个不相关的东西:严格模式和 JSLint。它们在很大程度上是无关的(除了 JSLint 有一个要求严格模式的选项)。

你的代码在严格模式下没有问题。它是完全有效和适当的(因为 jQuery 如何使用 this)。 Example那里没有“严格违反”。

JSLint 不喜欢它,但是 JSLint 不喜欢很多完全有效和适当的东西。 JSLint 检测到一些被广泛认为是问题的东西(比如缺少分号),以及 Douglas Crockford 从风格 的 Angular 来看不喜欢的东西。 Crockford 聪明且见多识广,但并不是每个人都同意他的风格选择。

Lint 工具非常有用,是工具包的重要组成部分。 JSLint 并没有像它可能的那样有用(在我看来),因为它把实质问题与样式问题混为一谈(虽然承认它是一条细线,与 JavaScript)。您可以考虑使用 JSHint ,一个 fork ,可以让您更好地控制它检查的内容。

关于javascript - jQuery 回调 - 严格违反,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11664958/

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