SyntaxError: expected expression, got ")" void() : 1: 5
这个错误的意思是: 本来希望得到 一个 表达式, 缺得到了 ),
凡是 这样的错误, 就是 函数 在当前位置, 需要一个参数! 参数没有给, 就 输入 ) 右括号了!
错误位置 1: 5, 就是 指 第 5列的位置, 需要 参数.
这样的错误, 通常有 两种情况:
-
一是 func(a, b, ) 有明显的参数, 而参数后面 多了一个 逗号, 这样的语法错误 还是 比较容易看出来的;
-
二是, funcName(), 括号里面完全没有什么内容, 直接就报这个错了. 而这个函数 , 是 必须要有一个 参数的, 你没有给参数, 就会报这个错误! 但是这样的错误 是比较隐秘 的, 是不大容易被检测出来的!
比如说, 以前 的时候, javascript: void(); 不给参数, 浏览器ff是不会报错的?? 而现在 ff 是要 强制 报错的了! 必须给他一个 参数 , 比比如 0
=================================================
关于 void 有 两个 主要用途:
- 一是 用 void 0 来代替: undefined . 因为 undefined 不是js的 关键字(保留字).
- 而是, 用 来 代替 不必要的 链接和地址: 比如: 对于 a的 href属性值, 对于 img 的 src等值, 你都可以用 : "javascript: void(0)" 来表示.
总之, : 现在的 ff 浏览器 中 : void() 必须带 参数 0 了! 否则js会报错!