js的強大魅力

2021-08-30 05:30:27 字數 1107 閱讀 9792

首先我們來梳理一下乙個概念,請你一定要記住:在js邏輯運算中,0、""、null、false、undefined、nan都會判為false,其他都為true(好像沒有遺漏了吧,請各位確認下)。這個一定要記住,不然應用||和&&就會出現問題。

這裡順便提下:經常有人問我,看到很多**if(!!attr),為什麼不直接寫if(attr);

其實這是一種更嚴謹的寫法:

請測試 typeof 5和typeof !!5的區別。!!的作用是把乙個其他型別的變數轉成的bool型別。

下面主要討論下邏輯運算子&&和||。

幾乎所有語言中||和&&都遵循「短路」原理,如&&中第乙個表示式為假就不會去處理第二個表示式,而||正好相反。

js也遵循上述原則。但是比較有意思的是它們返回的值。

**:var attr = true && 4 && 「aaa」;

那麼執行的結果attr就不是簡單的true或這false,而是」aaa」

再來看看||:

**:var attr = attr || 「」;這個運算經常用來判斷乙個變數是否已定義,如果沒有定義就給他乙個初始值,這在給函式的引數定義乙個預設值的時候比較有用。因為js不像php可以直接在型引數上定義func($attr=5)。再次提醒你記住上面的原則:如果實參需要是0、""、null、false、undefined、nan的時候也會當false來處理。

if(a >=5)

可以寫成:

a >= 5 && alert("你好");

這樣只需一行**就搞定。但是需要注意的一點就是:js中||和&&的特性幫我們精簡了**的同時,也帶來了**可讀性的降低。這就需要我們自己來權衡了。

一方面精簡js**,能實質性的減少網路流量,尤其是大量應用的js公用庫。個人比較推薦的做法是:如果是相對複雜的應用,請適當地寫一些注釋。這個和正在表示式一樣,能夠精簡**,但是可讀性會降低,對讀**的人要求會高些,最好的辦法就是寫注釋。

我們可以不使用這些技巧,但是我們一定要能看懂,因為這些技巧已經廣泛應用,尤其是像jquery等js框裡的**,不理解這些你就很難看懂別人的**。

像var yahoo = yahoo || {};這種是非常廣泛應用的。

cron表示式的強大魅力

cron表示式的強大魅力在於靈活的橫向和縱向組合以及簡單的語法,用cron表示式幾乎可以寫出任何你想要觸發的時間點 乙個cron表示式有至少6個 也可能7個 有空格分隔的時間元素。按順序依次為 秒 0 59 分鐘 0 59 小時 0 23 天 月 0 31,但是你需要考慮你月的天數 月 0 11 天...

EdoJS,簡單 強大的JS框架

也許你會說,它是模仿extjs寫出來的,我只想說 站在巨人的肩上我們可以走的更遠 edojs是乙個跨瀏覽器的富客戶端介面框架解決方案。它的設計目標是為了讓人們用最簡單的方式,快速開發出豐富 健壯 高效能的跨瀏覽器web應用程式。edojs是使用js開發的,所以它跟服務端平台無關。通過ajax資料互動...

很強大的 js拖曳效果

page language c autoeventwireup true codefile default.aspx.cs inherits default 第一列第一列的第乙個的說 第一列的第二個的說 第一列的第三個的說 第一列的第四個的說 第二列第二列的第乙個的說 第二列的第二個的說 第二列的第...