JavaScript一些優雅小技巧不得不知

2021-09-24 23:50:08 字數 2307 閱讀 3956

var a = "3";

console.log(a * 1); // 3

console.log(+a); // 3 這個方法最長用

console.log(a.valueof()); // 3

有的時候後台來的字串,你在前端函式swich已經寫好了,都是數字。。。尷尬了。。這個時候只要這樣就解決了

switch (+data.value)
boolean(x) // 就這麼用,會返回true或者false
實現某功能:挑出陣列中的所有真值

// 下邊功能實現是跳出陣列裡所有true值

function compact(arr)

var num = [0, 1, false, 2, "", "a", "n"];

console.log(compact(num))

// boolean 是乙個函式 boolean(1)會返回true,boolean(「」)會返回false

// 在filter裡會自己傳參.

// 上方filter函式是簡寫的,不簡寫是這個樣子的

function compact(arr) )

}

看一下下邊這段**,會有一種豁然開朗的感覺

typeof config.btn === 'string' && (config.btn = [config.btn]);
前邊是乙個檢測型別,沒有if也不判斷。後邊就是個執行語句;

關鍵點就在於這個&&

&&為取假運算,從左到右依次判斷,如果遇到乙個假值,就返回假值,以後不再執行,否則返回最後乙個真值

||為取真運算,從左到右依次判斷,如果遇到乙個真值,就返回真值,以後不再執行,否則返回最後乙個假值

再回到**上,就是當前邊的檢測型別函式為真時,就會繼續執行。也就是config.btn如果是個字串就執行後邊這個,把config.btn變成陣列,不過不是字串的話後邊的就不執行了。**的意思就很明顯了,不管你傳來了字串還是陣列最後都變陣列,我後邊好做處理,就不用if else去判斷了,可以說非常高效了。

另乙個應用就是預設引數,和防止引數不傳;應用某變數又擔心他沒被賦值。

譬如:

function sendclass (val)

// 防止undefined

var data=people || ;

// 利用 | 0 取整

var dd = -3.52;

console.log(dd | 0)

// 判斷奇數偶數

var numa = 8;

console.log(!!(numa & 1))

// 強制引數 ;否則就丟擲錯誤

var man = () =>

var too = (bar = man()) =>

too("aaaa") //有引數不報錯

too()//報錯

// es6裡的可以在函式引數賦值預設引數,這次是賦值函式執行,

// 也可以看出這個函式的執行過程,先看看有沒有引數,沒有再去找預設設定了什麼,就是利用這個原理

遇到這樣的需求,需要頻繁執行某個函式,函式裡有很多的swich或者if elseif,執行一次後,就會每次都走一條線而且多次走某個分支,這時候用這個方法

/*

在某個場景下我們的函式中有判斷語句,這個判斷依據在整個專案執行期間一般不會變化,

所以判斷分支在整個專案執行期間只會執行某個特定分支,那麼就可以考慮惰性載入函式

*/// 利用執行一次函式後,就改寫這個函式,下次來的時候就不用判斷了,就直接執行,節約了資源

function todo ()else

}// 改寫成這個樣子 ,要的是這個程式設計思路,同樣的思路也可以做執行一次的函式.也就是說執行一次就改寫它

function todo ()

}else

}

要的是這個程式設計思路,同樣的思路也可以做執行一次的函式.也就是說執行一次就改寫它

平常看到的是這樣子的

switch (value)
大家都知道乙個物件要取出來可以obj.sth或者obj[sth],現在就利用後一種寫法

var obj=

obj[value]();

如果是取值那就直接obj[value]就更簡單了,熟練了非常好用

今天就到這裡,有不對的地方希望有人幫忙指正

javascript寫cookie的一些方法

函式 一 寫cookie的函式,將cookie寫入客戶端,通用函式,傳入3個引數即可 cookie名字,值和失效期 函式 寫入cookie function writecookie cookiename,cookievalue,expiry else 沒有設定cookie失效時間 函式 二 取得表單...

javascript的一些常用演算法

1 判斷乙個單詞是否是回文?回文是指把相同的詞彙或句子,在下文中調換位置或顛倒過來,產生首尾回環的情趣,叫做回文,也叫回環。其實重要的考察的就是對於reverse的實現。其實我們可以利用現成的函式,將字串轉換成陣列,這個思路很重要,我們可以擁有更多的自由度去進行字串的一些操作。function ch...

JavaScript共用的一些函式

新元素 你想插入的元素 newelement 目標元素 你想把這個元素插入到哪個元素 targetelement 父元素 目標元素的父元素 parentelement parentelement.insertbefore newelement,targetelement function inser...