javascript - 无法理解在线JS压缩后得到的代码

标签 javascript

对函数应用在线 JS 压缩后,我得到以下结果:

t = function (e) {
    return ch = e.charAt(0), set = new Set, set.add("."), set.add("/"), set.add("\\"), !set.has(ch)
}

怎么可能有这么多用逗号分隔的指令,这是什么 最后回来了?我的 JS 引用文献没有提及这种语法

最佳答案

逗号可用于将多个语句组合成一个表达式。简而言之,它的意思是“评估所有这些语句,然后返回最后一个语句的值”。

上面的代码获取传递的字符串的第一个字符,构建一个包含多个字符的Set,然后检查第一个字符是否在Set中> (并返回该支票的值)。它相当于:

t = function(e) {
  ch = e.charAt(0);
  set = new Set;
  set.add('.');
  set.add('/');
  set.add('\\');
  return !set.has(ch);
}

关于javascript - 无法理解在线JS压缩后得到的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46545987/

相关文章:

javascript - Node : How to use LIKE with an input parameter in the query? 的 MSSQL

javascript - 同一页面内的多个对话框

javascript - 由 ng-repeat : collect states under one array in the $scope model? 创建的按钮列表

javascript - 如何使用 AMCharts 将单个网页的 html 和图表导出为 PDF?

JavaScript 试图改变图像

javascript - 如何根据输入到 ng-model 中的数量添加新 html 元素的数量

javascript - MySQL 选择共享该字段值的所有值

javascript - 我发现 this.get() 在 ember 中未定义

Javascript:无法通过id获取元素

javascript - 如何使用循环比较两个对象与嵌套对象数组