JavaScript 运行时错误:参数是必选项
背景
最近在页面里新加些代码,拷贝了个旧函数,写个新函数,调试时出“JavaScript 运行时错误:参数是必选项”,搜索网络说什么数组里项少,但我这不是这个情况 。
分析过程
在VS里看到调用堆栈如下,翻来翻去看代码也没事啊。
问题肯定是和ajax有关系,于是就把ajax调用语句看看,方式和变量名都对啊,没办法,就对定义变量的语句对刀子,把变量名称再换下,这时候发现ajax调用语句用的变量名和定义的变量名不一样,一个是abc,一个是abd,把定义里的abd改为abc问题解决。
提示
JavaScript是解释执行,对变量名控制不严重,其实abc和页面里的某个HTML标签名一样,在名称使用上没什么提示。
根本原因还是打字快时,有手误,这也是时有发生,没办法。
这个问题对ajax调用语句有提示,但实际错误并不是ajax本身有错误,是一个变量定义导致的间接错误。
初学者遇到这样的错误,要耐心分析解决。
还有一个办法,能比较好的避免此问题,就是写一段代码测试下,这样就好定位问题了。