打開 webstorm 進行設(shè)置 ( File >> setting >> Languages & Frameworks >> JavaScript >> ECMAScript 6 )毅桃。
當(dāng)你設(shè)置好 es6 規(guī)范之后, 使用webstorm編程, 右邊的語法檢錯幾乎沒有紅色和黃色的報錯的時候, 恭喜你, 你已經(jīng)養(yǎng)成了使用 es6 標(biāo)準(zhǔn)編程的習(xí)慣。
jquery和其他的一些插件也有自己的 Typescript 驗證模塊, 如果不引入這些插件的驗證模塊可能會報白色錯誤(配置在第 12 個報錯)。
本文所有的報錯均為黃色或者白色報錯,可能幾乎不會影響程序的運行。
1. 使用 var 作為聲明變量的方法報錯
注意: 改的時候注意 var 的變量提升辫狼。
es6 里面聲明變量都改成 let 和 const, 如果使用 var 作為聲明方法, webstorm 會報錯。 let 和 var 的區(qū)別。
2. 每行代碼結(jié)束的時候不添加分號報錯
注意: 并不是每行代碼都加分號, 函數(shù)結(jié)尾的 '}' 添加分號也會報黃色錯誤扎附。
3. jquery選擇器選擇兩次的情況下報錯
注意: 以下的 $ 每出現(xiàn)一次代表一次 DOM 操作, DOM 頻繁操作會影響瀏覽器性能。
$(".select").addClass("active");
$(".select").removeClass("active");
修改為
let select = $(".select"); //這里只選擇了一次结耀。
select.addClass("active");
select.removeClass("active");
4. 使用"=="的報錯
"==" 叫相等運算符, "===" 叫嚴(yán)格等于運算符留夜。
相等運算符會導(dǎo)致一些變量在值相等而類型不等的情況下出現(xiàn)問題。(具體情況自行百度, 我只能幫你到這里了)图甜。
需要把兩個等號"=="的全部換成三個等號"==="碍粥。
5. 三元運算符報錯
這里可能只是因為es6不許你這么用。
let isover = query.rowCount === -1 ? false : true; // 這種寫法會有很大一條橫線在整個語句下
改為
let isover;
query.rowCount === -1 ? isover = false : isover = true;
6. 一個表達式里面有多個 return 報錯
一般最后一個 return 下面會有很大一條白線
function myfun () {
let myNum = 1;
if( myNum ){
return 2;
}
return 1;
}
改為
function myfun () {
let myNum = 1;
let result;
if ( myNum ){
result = myNum;
} else {
result = 3;
}
return result;
}
7. 對對象進行 for in 遍歷時直接使用迭代值會報錯
for in 的方法描述是"遍歷能夠枚舉繼承的屬性名"
當(dāng)遍歷對象時必須確認(rèn)是否對象內(nèi)繼承了該屬性
所以在遍歷時需要加上
for(var i in a){
if( !a.hasOwnProperty(i) ) continue;//跳過繼承的屬性
//循環(huán)體
}
8.冗余代碼報錯
function test () {
let result = {}; // 這里的變量result會有一行白線, 告訴你這個變量沒必要定義黑毅。
return result
}
改為
function test () {
return {}
}
9.備注(參數(shù)缺少)報錯
使用備注的時候, 參數(shù)一定要寫全
/**
* 下載文件
* @param path 路徑
* @param type 文件類型
*/
function downloadFile( path, type, id ) { // 參數(shù)id下面有白色的線, 提示沒有備注
// your code .......
}
10. 沒有用到的變量報錯
定義了一個變量, 之后都沒有引用會報黃色錯誤
11. 監(jiān)聽事件報錯
這里并不是強制性會報錯嚼摩,只是引用jquery插件后
$('.btn').click(function(){})
改為
$('.btn').on('click',function(){})
12.html引入路徑報錯
當(dāng)引入一段相對路徑的文件, 代碼塊下方會有一條白色橫線。
如果你的public文件夾是項目的靜態(tài)文件根目錄矿瘦,右鍵public >> Mark Directory as >> Resource Root
13. unresolved function or method $() 白色錯誤
鼠標(biāo)放在右邊錯誤上顯示以上錯誤或者類似的錯誤都是沒有引入庫的原因
解決方法:
根據(jù)以下操作路徑 File >> setting >> Languages & Frameworks >> JavaScript >> Libraries 找到面板上面的download按鈕
ctrl+F 然后輸入 jquery 或者其他的什么庫枕面,然后點擊庫下載 ts 驗證模塊鏈接。
此設(shè)置可能會出現(xiàn) jquery 或其他插件的語法規(guī)范缚去。