[javascript 實踐篇]——那些你不知道的“奇淫巧技”


1. 空(null, undefined)驗證

剛開始,我是比較蠢的驗證(我還真是這樣子驗證的)

if (variable1 !== null || variable1 !== undefined || variable1 !== '') { let variable2 = variable1; }

大哥教會了我這樣子驗證,你會驚嘆一下的

let variable2 = variable1  || '';

如果你不信,在谷歌瀏覽器開發者面板的控制台下試試!

//值為null的例子
let variable1 = null;
let variable2 = variable1  || '';
console.log(variable2);
//輸出: '' 
//值為undefined的例子
let variable1 = undefined;
let variable2 = variable1  || '';
console.log(variable2);
//輸出: '' 
//正常情況
let variable1 = 'hi there';
let variable2 = variable1  || '';
console.log(variable2);
//輸出: 'hi there'

是不是很棒(可愛臉)

2. 數組

這個經常用到,像我這樣子沒毛病

let a = ["myString1", "myString2", "myString3"];

3. if true .. else 的優化

其實就是用三元運算

let big;
if (x > 10) {
    big = true;
}
else {
    big = false;
}

可以變成這樣子的啦

let big = x > 10 ? true : false;

是不是簡潔了呢,三元運算可以在很多的地方用到,(vue 里面 判斷組件的加載,,,是不是跑題了 )

再來一個例子

let big = (x > 10);
let x = 3,
big = (x > 10) ? "greater 10" : (x < 5) ? "less 5" : "between 5 and 10";
console.log(big); //"less 5"
let x = 20,
big = {true: x>10, false : x< =10};
console.log(big); //"Object {true=true, false=false}"

4. 變量聲明

變量聲明,這樣子的 let x; let y;......

不妨這樣像我這樣子,簡單又明了

let x, y, z=3;

5. 賦值語句的簡化

剛開始是這樣子的

x=x+1;
minusCount = minusCount - 1;
y=y*10;

搖身一變成

x++;
minusCount --;
y*=10;

6. 避免使用RegExp對象

正則表達式,是不是要用到

var re = new RegExp("\d+(.)+\d+","igm"),
result = re.exec("padding 01234 text text 56789 padding");
console.log(result); //"01234 text text 56789"

簡化一下

var result = /d+(.)+d+/igm.exec("padding 01234 text text 56789 padding");
console.log(result); //"01234 text text 56789"

7. If 條件優化

雖然很簡單,但還是值得提一下。

if (likeJavaScript)

比起這樣字的會不會好一點呢

if (likeJavaScript === true)

 

8.函數調用還可以更短

function x() {console.log('x')};function y() {console.log('y')};
let z = 3;
if (z == 3) 
{
    x();
} else 
{
    y();
}

其實就是函數自調拉

function x() {console.log('x')};function y() {console.log('y')};let z = 3;
(z==3?x:y)();

9. 如何優雅的表示大數字

在JavaScript中,有一個簡寫數字的方法,也許你忽略了。1e7表示10000000。

簡化前:

for (let i = 0; i < 10000; i++) {

le7...............................................................................................(調皮啊)

for (let i = 0; i < 1e7; i++) {

 

************************************華麗的做一些補充(感謝評論區認真回答的童鞋們)**************************************************

10.

var s ="3"; //string
var v = +s;
console.log(v);//3
console.log(typeof v)//number

這里一定要注意數據的類型哦。

11.獲取時間戳

獲取當前時間戳 

方法一:new Date()-0;
方法二:+ new Date() ;

12.清空數組

var list = [1, 2, 3, 4];list.length=0;

13.隨機獲取整數

例:10以內的隨機數 可能的總數就是10個數,最小數就是1
Math.floor(Math.random()*10+1)

14.空字符串、空數組都等於false

console.log(""==false)
輸出true
console.log([]==false)
輸出true

 就如我們@until-u童鞋所說:控制台輸入 console,看看有哪些你不知道的函數

真是amazing啊!

 

再次感謝評論區的可愛的童鞋們。

你有什么奇淫巧技,不如分享出來,讓我們amazing一下吧!

 

你說四不四奇淫巧技嘛?

尊重我們的原文作者咔

版權聲明:
轉載時請注明作者Fundebug以及本文地址:
https://blog.fundebug.com/2017/07/06/12-tricks-that-js-rocks/

原文: 12 Amazing JavaScript Shorthand Techniques

譯者: Fundebug

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM