控制臺報錯object is not a function的解決方法
今天反饋過來一個BUG,說一個頁面的功能用不了。打開控制臺發(fā)現(xiàn)報錯:object is not a function。
感覺很奇怪,這塊的功能最新沒動過怎么會突然出問題了呢?上線時主流瀏覽器都測試過了呀。
雖然奇怪,但是還的解決問題。看著代碼發(fā)現(xiàn)一個radio對象的name屬性和一個function name重名了。代碼如下:
<body> <input type="radio" name="test" onclick="test();"/> <br/> <form action=""> <input type="radio" name="test" onclick="test();"/> </form> </body> <script type="text/javascript"> function test(){ alert("11"); } </script>
修改了函數(shù)名稱,解決了問題。但是沒找到根源,因為這個函數(shù)名以前就是這樣的,可以正常使用。修改代碼
onclick="alert(test);"
發(fā)現(xiàn)彈出“object HTMLInputElement”,瀏覽器解析test變?yōu)閐om對象了。
在script腳本test函數(shù)后alert(test);還是一個function。
查看svn版本發(fā)現(xiàn),是我做另一個功能的時候加了一個form表單把這個radio包起來了。導(dǎo)致瀏覽器解析出錯了。
總結(jié):不一定沒改動的代碼就沒問題,說不定改動的地方引起了別的問題。有些瀏覽器兼容性問題都是代碼不規(guī)范導(dǎo)致的,以后寫代碼要規(guī)范!
哪位大牛如果知道為什么加了form瀏覽器解析出問題,能告訴我下。感激不盡!
相關(guān)文章
JavaScript 輸出顯示內(nèi)容(document.write、alert、innerHTML、console.log
剛開始接觸js的朋友肯定要接觸到j(luò)s的輸出,那么肯定會使用document.write、alert、innerHTML、console.log,這里簡單介紹一下,需要的朋友可以參考一下啊2016-12-12淺談checkbox的一些操作(實戰(zhàn)經(jīng)驗)
checkbox看起來很簡單,有時很頭疼,有什么難的,下面就為大家介紹下checkbox的一些操作,不了解的朋友不要錯過2013-11-11鍵盤 keycode的值 javascript時觸發(fā)事件時很有用的要素
鍵盤keycode的值 編寫javascript時觸發(fā)事件時很有用的要素,大家可以收藏一下。2009-11-11JavaScript中的toUTCString()方法使用詳解
這篇文章主要介紹了JavaScript中的toUTCString()方法使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06