SyntaxError: expected expression, got ")" void() : 1: 5

这个错误的意思是: 本来希望得到 一个 表达式, 缺得到了 ),

凡是 这样的错误, 就是 函数 在当前位置, 需要一个参数! 参数没有给, 就 输入 ) 右括号了!

错误位置 1: 5, 就是 指 第 5列的位置, 需要 参数.

这样的错误, 通常有 两种情况:

  1. 一是 func(a, b, ) 有明显的参数, 而参数后面 多了一个 逗号, 这样的语法错误 还是 比较容易看出来的;

  2. 二是, funcName(), 括号里面完全没有什么内容, 直接就报这个错了. 而这个函数 , 是 必须要有一个 参数的, 你没有给参数, 就会报这个错误! 但是这样的错误 是比较隐秘 的, 是不大容易被检测出来的!

比如说, 以前 的时候, javascript: void(); 不给参数, 浏览器ff是不会报错的?? 而现在 ff 是要 强制 报错的了! 必须给他一个 参数 , 比比如 0

=================================================

关于 void 有 两个 主要用途:

  1. 一是 用 void 0 来代替: undefined . 因为 undefined 不是js的 关键字(保留字).
  2. 而是, 用 来 代替 不必要的 链接和地址: 比如: 对于 a的 href属性值, 对于 img 的 src等值, 你都可以用 : "javascript: void(0)" 来表示.

总之, : 现在的 ff 浏览器 中 : void() 必须带 参数 0 了! 否则js会报错!

posted @ 2019-06-13 22:38  noitanym  阅读(1552)  评论(0编辑  收藏  举报