iT邦幫忙

DAY 3
9

jQuery 套件開發之我可不可以跳著說系列 第 3

jQuery套件開發之(三),true false的判斷

最近喜歡上一個動漫叫作加速世界

說真的,BUG可以吐槽的點真的太多

但是又覺得滿好看的

女主角明明不是正妹型的,但

原來這就是萌阿~~~( 灑花 )

---廢話完畢---
寫套件阿,最基本功要先打好阿
正所謂基本功打好,要飯要到老~
至少有飯吃阿~~~

阿 工作越來分越細阿

對別人的工作也漸漸的似懂非懂了。

像我已經不懂PM 跟業務差在哪裡了@@

============================================
<文章列表>
IT人生組文章
--9/16 : 各行各業的名人
http://ithelp.ithome.com.tw/question/10126681
--9/17 : 寫程式的習慣
http://ithelp.ithome.com.tw/question/10127036
--9/18 : 你的職業是甚麼?
http://ithelp.ithome.com.tw/question/10127308

開發技術組文章
--9/16 : jQuery套件開發(一),三十天,我想要分享的東西
http://ithelp.ithome.com.tw/question/10126657
--9/17 : jQuery套件開發(二),jQuery的套件,開發前該了解的事情~
http://ithelp.ithome.com.tw/question/10127033
--9/18 : jQuery套件開發(三),true false的判斷
http://ithelp.ithome.com.tw/question/10127297
寫程式的時候,假定現在跑到一個function要做一些事。

function doSomething()
{
    
}

但是,有些條件下不要做。

所以,你會有一些判斷把程式中斷或是跳開。

function 可不可以出國()
{
    if (老媽生病)
    {
        return false ;
    }
    
    if (口袋沒錢)
    {
        return false ;
    }
    
    return true ;
}

說真的,這樣的程式在變長之後是滿不好維護的。

基本上,還是宣告一個flag進行記錄。

或許有些人會提到校能問題。

但這根本微乎其微。

(LOADING大部分都是設計模式或是資料庫

的面向來抓會更有效率。)

經驗告訴我這樣寫比較容易維護。

function 可不可以出國()
{
    var _flagOK = true ;
    
    if (老媽生病)
    {
        _flagOK = false ;
    }
    
    if (口袋沒錢)
    {
        _flagOK = false ;
    }
    
    return _flagOK ;
}

且,一開始的狀態要符合人的想法。

例如你的函式是判斷"要不要扣款"?

那你的預設值當然要設定true

這樣邏輯很簡單

就好像你倒了一瓢水到一個篩子

只排除不要的部分。

這樣可以減少邏輯判斷錯誤的問題。

我們來看看如果明明應該預設true但是卻先設定false的狀況。

function 可不可以扣款()
{
    var _flagCost = false ;
    
    if (!餘額不足)
    {
        _flag = true ;
    }

    if (!存貨不足)
    {
        _flag = true ;
    }
    
    return _flag ;
}

這樣的程式的問題有很大的問題

首先你的變數命名就有可能取錯邏輯。

你的if判斷也充滿了驚嘆號,危險。

接下來分享一下JS對於true false的判斷

這部分其實只要掌握js對於false的認知就可以了!

javascript只對五個東西判定false

null, 0(值), false, undefined, ''(空字串)

所以 if('0') say something ; 是會成立的

那 if (new Boolean("false")) 這樣呢?

答案是會判定成true!
因為new Boolean("false") 是一個物件阿!

那 if([]) 呢?

裡面是一個空陣列,怎麼樣,很想false齁~~

但是當然還是true嚕

但是 if ([] === true) 這樣呢?

答案是false! 物件怎麼可能"等同於"true

可以參考我以前的測試頁,好好玩味。

但是都不脫離我講的五個判斷原則。
http://ry.url.tw/wp/doc/trueOrFalse.htm


上一篇
jQuery的套件,開發前該了解的事情~
下一篇
jQuery套件開發之(四),預設值與設定值的差別。
系列文
jQuery 套件開發之我可不可以跳著說26
0
ektrontek
iT邦研究生 3 級 ‧ 2013-09-18 12:35:33

之後是否有機會介紹到aspnet與jquery結合的部份呢
感謝

我的主題著重在,套件開發。

現在都只是在講一些概略性的東西

後面會一直寫套件

且,前端跟後端,講坦白的,哪有甚麼結合?

是因為你用微軟東西用慣了,混在一起講。

= = 我是不是太直了 @_@

0
aboutit234
iT邦新手 4 級 ‧ 2013-09-18 12:38:34

讚筆記

感謝支持,常來坐坐喔~

0
fillano
iT邦超人 1 級 ‧ 2013-09-18 19:17:23

讚喜歡

-.- 大師耶
HELLO~ 等下,那是哪一隻指頭!?OrzOrz

我要留言

立即登入留言