JS基礎學習篇(一)


近來一直在學習js和jquery。剛剛進入前端工作還沒有多久,雖然大學里學習的是編程自認為也學的還可以,但前端接觸的不多,一直認為前端十分簡單。其實不然,特別是工作的時候要自己設計一個完整的項目前端,發現其中還是有許多的問題,需要去摸索的。因為項目的需求,我其實先學的是jquery,但jquery是基於js的所以我差不多是兩者一起學習。近來項目已經進行了一段時間,所以想記錄一下自己學習的過程,分享一點微薄經驗給大家。如果有什么問題,十分樂意大家指出。

(一)、javascript的核心:

  1、ECMASCRIPT(定義了其語法、類型、語句、關系等。)

  2、文檔對象DOM(級別1級、2級、3級,我們一般用2級即可滿足開發的需求,這個我也不怎么了解,但十分有興趣,在之后有一定水准后再來仔細研究)

  3、瀏覽器對象模型BOM

(二)、操作符

  1、typeof():返回的類型有undefined、string、number、object、function。

    其中注意:typeof(null)返回的是object;typeof([1,2,3,4])返回值也是object;typeof(undefined)返回的是undefined。

    所以當你要判斷某個對象的話:

    if(typeof(value)=='object' && Object.prototype.toString.call(value).toLowerCase()=='[object object]' && !value.length){
      if('displayName' in value) return value.displayName;
    }

    其中:Object.prototype.toString.call()也是法判斷數據類型的方法,有興趣的可以網上找

  2、isNaN():用於檢查其參數是否是非數字值,也可用於判斷其參數是否是 NaN,因為NaN不能用==或者===來進行判斷,所以isNaN()是必須的。

(三)、String

  1、轉義:\n換行、\t制表、\b空格、\r回車、\f進紙、\\斜杠、\'單引號、\"雙引號、\xnn以十六進行表示一個字符。

  2、toString():將數值轉化成String,但undefined和Null不可轉化,可以用String()強制類型轉化。

(四)、運算符

  1、+加、-減、*乘、/除、%求余

  2、自動類型轉化:+box(取正)、-box(取負)

  3、一元運算符

    前置遞增(++box),后置遞增(box++)。如果沒有進行賦值,那么兩者都一樣。

    例:var box = 100;                                                                                   var box = 100;

      var age = ++box;  //box先累加,再將box賦值給age                         var age = box++;   //先將box賦值給age然后,box自身再進行累加

      結果:age=101;box=101                                                                結果:age=100;box=101

  4、關系運算符

    注意:如果2個數進行比較,其中一個數為數值、另外一個數為字符則會將字符轉化為數值進行比較;如果2個都是字符則將各自的第一個字符轉化為

       ASCII碼進行比較。

    例:“123”>"22"  //返回false

(五)、語句

  1、只有一行語句的叫單行語句,用{}包含的語句集合叫復合語句

  2、if語句:如果符合if語句的判斷,那么執行if后面的一條語句(代表如果沒有{}包含的話,只執行后面的一條語句),個人建議不過是不是只執行一句最后都用{}

       包含,以便於代碼維護。if里面的判斷。數值、字符都會轉化為true;0或者“”則是false

(六)、switch-case:

  1、其中break中途退出,防止穿透。再循環中也可用於跳出整個循環。

  2、default 相當於if語句中的else

(七)、do...while和while:do...while先運行再判斷,不過是否符合判斷都先運行一次。while,先判斷再運行。

(八)、for ...in是一種精准的迭代,可用來枚舉屬性

    var box = {                                    for(var x in box){

      'name':'張三',                               console.info(x);  //注意枚舉的是屬性,結果:name、age、height

      'age':'26',                              }

      'height':'176'

    }

(九)、break和continue:break退出循環,continue退出當前循環。

(十)、whith:將代碼作用域設置到一個特定的參數中

     with(box){

      var n = name;  //相當於box.name

     }

這一次的總結先到這里,雖然都十分的基礎,但是運用熟練的話也可以減少一些代碼量的。如果其中有什么問題或者補充的話,是否樂意大家指出。

 JS基礎學習篇(二)

 

      


免責聲明!

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



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