[笔记]函数参数问题导致的离奇问题

前端之家收集整理的这篇文章主要介绍了[笔记]函数参数问题导致的离奇问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

自测无问题的代码提交后,其他人更新后,出现了控制台报错问题。查看后,发现是函数调用参数的问题。

我们都知道,当定义以下JSON对象时,

var obj = {
    name: 'aaa',}

在低版本的IE下是会报错的,在现代浏览器上是不会报错的。

问题

目前我遇到的问题可以总结为,在调用函数时,参数多了个逗号(居然没发现,实在是失误啊。。)。如

show(1,);

function show () {
    console.log(111);
}

这样调用函数时,在高版本的浏览器上是不会有问题的,第二个参数是undefined。而在低版本的浏览器上是直接编译报错,无法运行的。

注:测试chrome59和65没有问题,chrome50有问题。

结论

为了代码的兼容性以及稳定性,不出现离奇的问题,我们还是得规范代码书写,jshint等代码检查工具也可用起来。


在看ES6时发现啦,ES2017 允许函数的最后一个参数有尾逗号(trailing comma)。

看来只是chrome提前实现了某些功能

猜你在找的程序笔记相关文章