我的個人博客: "http://www.xiaolongwu.cn" 在平時的開發中,編碼技巧很重要,會讓你少寫很多代碼,起到事倍功半的效果。 下麵總結幾種簡單的技巧,大家共同學習一下 1、 利用+、 、/1, 1將字元串轉換為整數型 這個方法試用於將字元串類型的數字轉換為整數型,如果帶字母就會返回 ...
我的個人博客:http://www.xiaolongwu.cn
在平時的開發中,編碼技巧很重要,會讓你少寫很多代碼,起到事倍功半的效果。
下麵總結幾種簡單的技巧,大家共同學習一下
1、 利用+、-、/1,*1將字元串轉換為整數型
這個方法試用於將字元串類型的數字轉換為整數型,如果帶字母就會返回NaN。
var a = "1234", b = "leonWuv";
//我們想把a轉換為1234的整數型,一般方法
console.log(typeof Number(a)) //number
//簡單寫法
console.log(+a + 1,typeof +a); //1235 number
console.log(a - 0 + 1,typeof (a-0)); //1235 number
console.log(a*1 + 1,typeof (a*1)); //1235 number
console.log(a/1 + 1,typeof (a/1)); //1235 number
console.log(b/1 + 1,typeof (b/1)); //NaN number
這個也是用於 Date();它將返回時間戳
//以下方法都返回時間戳
console.log(+ new Date()); //1512378253218 2017年12月04日17時左右;
console.log(Date.parse(new Date())); //1512378253000 註意後三位向下取整為000;
console.log(new Date("2017/1/1").getTime()); ////1483200000000
2、利用!!強制轉換布爾值
我們需要驗證一個變數是否存在或者有效時,可以使用!!來簡單快速的判斷
這個技巧我在 javaScript數據類型你都弄明白了嗎?絕對乾貨這篇博文中的第四部分提到過
總結一下就是:只要變數的值為:0、null、" "、undefined或者NaN都將返回的是false,反之返回的是true。看下麵例子
var a = 0,b = "12";
console.log(!!c); //false
// 分解上面的代碼--Boolean(c)得false,取非為true,再取非為false。
console.log(!!d) //true
// 分解上面的代碼--Boolean(d)true,取非為false,再取非為true
3、在遍曆數組時,緩存數組的length
在處理一個數組迴圈時,我們好多人通常會這麼寫
for(var i = 0; i < array.length; i++) {
console.log(array[i]);
}
當我們遍歷一個小型數組時,這樣寫是可以的,但是當我們處理一個大型數組時,這樣寫就會每次迴圈都計算數組的長度,會有延誤,這時我們可以這樣寫
var length = array.length;
for(var i = 0; i < length; i++) {
console.log(array[i]);
}
當然我們也可以這樣寫,這兩種方式都是可以的
for(var i = 0, length = array.length; i < length; i++) {
console.log(array[i]);
}
4、合理利用&&運算符
看看這段代碼
if(a){
console.log("hello leonWu");
//解釋一下這段代碼,如果Boolean(a)為true,就列印出hello leonWu
}
我們稍微修改一下上面的代碼
a && console.log("hello leonWu"); //結果是一樣的,但是這樣是不是簡單清晰多了,代碼量也少了
相關鏈接:js編碼的實用技巧(二)
未完待續。。。。
github資源地址:https://github.com/js編碼的實用技巧(一).md
我的個人博客:http://www.xiaolongwu.cn
csdn博客地址:https://blog.csdn.net/wxl1555
如果您對我的博客內容有疑惑或質疑的地方,請在下方評論區留言,或郵件給我,共同學習進步。