gpt4 book ai didi

javascript - 在 javascript 中使用不带 if 和 var 表达式的 bool

转载 作者:行者123 更新时间:2023-11-30 13:08:24 24 4
gpt4 key购买 nike

什么字符串 console && (typeof console.log === "function") && console.log('contains called'); 在这个函数中做了什么:

(function ($) {
$.validator.addMethod('contains', function (value, element, param) {
console && (typeof console.log === "function") && console.log('contains called');
if (this.optional(element)) { return true; } // let required rule deal with this.

var pattern = new RegExp('' + param, "gi");
return value && ('' + value).match(pattern);
}, "Part of the word is invalid");

$.validator.unobtrusive.adapters.add('contains', function (options) {
var element = options.element,
message = options.message;
options.rules['contains'] = $(element).attr('data-val-contains-word');
if (options.message) {
options.messages['contains'] = options.message;
}
});
})(jQuery);

如果那个字符串是这样的,我会理解:var var1 = console && (typeof console.log === "function") && console.log('contains called');

或类似:if(console && (typeof console.log === "function") && console.log('contains called'))

这不是错误代码。它正在工作。

最佳答案

这只是一种可读性较差的书写方式:

if (console && (typeof console.log === "function")) {
console.log('contains called');
}

它(错误地)利用了这样一个事实,即您可以编写一个不对结果做任何事情的表达式,并且语句也是一个表达式,因此它可以写在一个表达式中来做某事。

关于javascript - 在 javascript 中使用不带 if 和 var 表达式的 bool,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14787054/

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