明凯博客

关注网站技术,一个特立独行的程序员

解决JS函数object is not a function的bug

今天写一个JS函数的时候,发现怎么也运行不了这个函数,一直报错:object is not a function。

但是如果单独只写js,把页面给分开,是没有问题的,那么出现这个问题一定是页面出现了问题。

假如说,我们的这个函数是test(),点击按钮运行这个函数,下面是代码。

1
2
3
4
5
6
7
8
9
10
11
 <input type="radio" name="test" onclick="test();"/>  
 <br />  
 <form action="">  
 <input type="radio" name="test" onclick="test();"/>  
 </form>  
 <script type="text/javascript">  
     function test(){  
    alert("11");  
     }  
 
 </script>

当然这只是代码中的一小部分,通过逐步排查,问题应该就出现在这里。

看着代码发现一个radio对象的name属性和一个function name重名了。

我们输出这个函数看看会出现什么结果。

1
onclick="alert(test);"

发现弹出“object HTMLInputElement”,浏览器解析函数test变为dom对象了。

解决办法就是修改函数名称,或者修改name属性值。

, ,

相关文章

1 条评论 “解决JS函数object is not a function的bug

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注