首頁 > web前端 > js教程 > 主體

JavaScript 程式錯誤的解決方法

巴扎黑
發布: 2017-07-23 15:23:55
原創
2198 人瀏覽過
今天程式設計時,JavaScript 程式回報了這樣的錯誤:Cannot use 'in' operator to search for...,具體錯誤訊息如下:
 
 
坦白說,這樣的錯誤最難除錯。因為它不是指向你所寫的具體程式碼,而是泛泛指向了lib.js 檔案(該檔案通常是第三方的打包壓縮函式庫),你幾乎無法依據錯誤類型與錯誤指向來定位到實際程式設計中的錯誤位置。
 
怎麼辦?
 
這時候,只有發揮「死磕」精神了!
 
死磕步驟:
  1. #依據故障頁面以及錯誤訊息,定位到出錯的文件,這一點應該不難;

  2. 在出錯的頁面中,依序點擊調試,看一看在哪一步開始報錯了!很關鍵!例如,一開始載入就出錯了,那就定位到 js 檔案的初始化部位;點擊某個按鈕出錯了,那就定位到該按鈕的對應事件程式碼中;以此類推。

  3. 在定位的程式碼範圍內,採用“折中法”,一點點註解掉,刷新頁面查看是否依然出錯,如果出錯,這說明註解掉部分的程式碼沒有問題,放開註釋,繼續其他可疑的程式碼部分;如果沒有錯誤了,恭喜你,你的定位位置就更加精細化了!整體思路就是如此,循環往復,相信,總會有「撥開雲霧見朗朗青天」的歡喜的!

 

1 console.log('rendernerererer: ', schoolData)2 3 const schoolNode = (4     <Select style={{width: &#39;100%&#39;}} placeholder="请选择所属学校">5         { schoolData.length && schoolData.map((item, idx) => (6             <Option key={idx} value={`${item.id}`}>{item.name}</Option>7         )) }8     </Select>9 );
登入後複製

 

 

可以看到,rendernerererer 正確列印了出來,問題出在該行程式碼之後:

 1 const schoolData = this.state.schoolList; 2 console.log('rendernerererer: ', schoolData) 3   4 const schoolNode = ( 5     <Select style={{width: &#39;100%&#39;}} placeholder="请选择所属学校"> 6         { schoolData.length ? schoolData.map((item, idx) => ( 7             <Option key={idx} value={`${item.id}`}>{item.name}</Option> 8         )) : <Option value=&#39;&#39;>请选择...</Option> } 9     </Select>10 );
登入後複製

 

 1 const schoolData = this.state.schoolList; 2 console.log('rendernerererer: ', schoolData) 3   4 const schoolNode = ( 5     <Select style={{width: &#39;100%&#39;}} placeholder="请选择所属学校"> 6         { schoolData.length ? schoolData.map((item, idx) => ( 7             <Option key={idx} value={`${item.id}`}>{item.name}</Option> 8         )) : null } 9     </Select>10 );
登入後複製

 

以上是JavaScript 程式錯誤的解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!