JavaScriptのいくつかの小さなテクニック

2479 ワード

?演算の高級な使い方
_; はJavaSriptにおいて、「&&」演算子はブール値を(AND)と演算する以外に、真贋値を(AND)と演算することができます.JavaScriptのすべての値は、false、null、undefined、0、-0、NaN、および"を除いて、真の値とすることができます.
  演算子は、まず左の操作数の値を計算させ、偽であれば式全体が偽になるため、左の操作数の値を単純に返します.右の演算値は計算されません.逆に左演算値が真であり、表式全体の値は右演算に依存します.したがって、右演算の値を計算し続け、表式全体の計算結果に戻ります.
  以上のこの特性を「&&」演算子という「ショート」行為によって、if文の使用を効果的に減らすことができ、プログラムの頑健性を高めることができます.
    //  if  
    if(a==b) stop();//  a==b    stop()
    (a==b) && stop();//         
    a==b && stop();//          (                )
    
    //       
    
    function a(o){
        //        a             
        //              x ,          
)
        if(o&&o.x){
            //                    
            //   null          (undefined)
            //    o        ,        
            //    “&&”           
            //    null  undefined        
            //null undefined   ,               
            
            /*      */
            
        }else{
            /*                 */
        }
    }
    
  ?演算子は「&」と同じで、より複雑な動作があります.まず左の操作数の値を計算します.本当なら、この真の値を返します.右演算の値を計算し、この表式の計算結果を返します.この特性を利用して、関数パラメータに標準値を設定できます.
    //copy     o        p ,   p
    function copy(o,p){
        p=p||{};//     p        ,           
        //        
    } 
Aray.join()を使って重複した文字列を生成します.
_; 時には重複した文字列を生成する必要があります.例えば100個のdivラベルペアを含む文字列を生成する必要があります.多くの人が考えているのはサイクルを使って実現することです.もっと簡単な方法があります.
    var str=new Array(101).join("
");//

使用 setXXX()方法安心实现日期加法

  有时需要对日期时间进行一些加减运算,除了将日期时间转换毫秒再进行运算之外,我们还可以使用日期的方法更方便的进行日期时间加减运算操作。

var now=new Date("2017-06-11 23:00:00");//now:Mon Jun 11 2017 00:21:47 GMT+0800 (      )
now.setDate(now.getDate()+10);
//   
//now:Wed Jun 21 2017 23:00:00 GMT+0800 (      )
now.setDate(now.getDate()-30)
//    
//Mon May 22 2017 23:00:00 GMT+0800 (      )
now.setSeconds(now.getSeconds()+300);
// 300s
//Mon May 22 2017 23:05:00 GMT+0800 (      )
//   
//setMonth()        
//setFullYear()     
//setHours()        
//setMinutes()      
//setMilliseconds()     

巧用変数型暗黙的変換
_; JavaScript変数タイプの変換には相応の方法がありますが、我々はまた、暗黙的な変換を使用してタイプ転換を実現することもできます.これらの暗黙的なタイプの切り替えを知ることによって、プログラムはあなたが望む運行効果を達成することができます.
1+""; //  +     ,       
"1.5"-0;//    1      ,      NaN。"*1"     
しばらくこれらを覚えてから補充します.皆さんのコメントも歓迎します.