jquery文件内部引发错误-奇怪的语法
Error thrown inside jquery file - odd syntax
我的网页出现错误,我得到了以下代码(在jquery.js文件中):
trigger: function() {
return this !== _() && this.focus ? (this.focus(), !1) : void 0
}
(this.focus(), !1)
部分是什么意思。这可能吗?据我所知,一个函数只能返回一个值。
该部分专门执行this.focus()
,然后返回false
。逗号在移动到下一个语句之前完成一个语句,括号中包含语句以防止出现任何其他语法错误。
语法非常奇怪,但最可能的原因是缩小。最初的代码看起来很可能是这样的:
trigger: function () {
if (this !== _() && this.focus) {
this.focus();
return false;
}
}
如果没有指定其他内容,JavaScript将返回undefined
(而void 0
只是一种较短的编写方式),因此函数可以扩展为以下内容:
trigger: function () {
if (this !== _() && this.focus) {
this.focus();
return false;
}
return undefined;
}
为了减少字节数,minifier将两个return
语句合并为一个语句。正如您从代码中看到的,如果满足某些条件并且在执行了this.focus()
之后,单个return
语句将必须返回false
,如果不满足这些条件,则返回undefined
。这就是您查询的语句的作用。
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- Javascript未捕获语法错误意外的标识符错误
- 为什么忽略了eval()代码中的语法错误
- 难以访问的JS环境中的语法错误
- 未捕获的语法错误:意外的标记{
- "未捕获的语法错误:意外的标记}"
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- React JS:未捕获(在承诺中)语法错误:在位置 0 的 JSON 中意外<令牌
- $(input[]).仅在firefox中出现每个抛出语法错误
- 为什么浏览器没有为语法错误抛出异常
- 错误:语法错误,无法识别的表达式:不支持的伪:无效/RectJS/Unit Testing
- 未捕获的语法错误:意外的令牌,
- jQuery.getJSON失败,语法错误
- "未捕获的语法错误:意外的标记"角度JS
- 参数列表Three.js之后的未捕获语法错误:缺少)
- 循环的Javascript冻结浏览器,没有语法错误
- 为什么匿名函数本身就是javascript中的语法错误
- 这怎么不是语法错误?这毫无意义!(javascript)
- 语法错误:缺少:在属性 ID 之后
- 未捕获错误:语法错误,无法识别的表达式:input[@type=submit]