JavaScript基礎(chǔ)重點(diǎn)(必看)

字號(hào):


    接觸JavaScript這門語言也就很長(zhǎng)的時(shí)間了,但從來沒有系統(tǒng)的去了解這么語言。趁現(xiàn)在剛剛畢業(yè)以及某些原因無心工作的情況下去系統(tǒng)的了解一下這么語言,也想通過這么語言養(yǎng)成寫博客的習(xí)慣,因?yàn)槲艺J(rèn)為這是一件對(duì)程序員來說很神圣又很光榮的事情。
    1.1背景
    相信很多初學(xué)者都遺忘或混淆的就是JavaScript的官方命名:ECMAScript。2015年6月17日,ECMAScript 6發(fā)布正式版本,即ECMAScript 2015。
    1.2語法
    常規(guī)語法省略
    重點(diǎn)強(qiáng)調(diào):
    1.原始值和對(duì)象:原始值包括布爾值、數(shù)字、字符串、null、和undefined。其他的值都是對(duì)象。兩者之間最主要的區(qū)別在于它們的比較方式:每個(gè)對(duì)象都有唯一的標(biāo)識(shí)且只等于自己。
    var obj1={};
    var obj2={};
    alert(obj1 === obj2);
    //false
    alert(obj1===obj1);
    //true
    var prim1=123;
    var prim2=123;
    alert(prim1===prim2);
    //true
    2.使用typeof和instanceof對(duì)值分類。
    typeof
    
操作數(shù) 結(jié) 果
undefined 'undefined'
null   object
布爾值 boolean
數(shù)字 number
字符串    string
函數(shù) function
所有其他的常規(guī)值 object
引擎創(chuàng)建的值 JS引擎可以被允許創(chuàng)建一些值,且typeof的結(jié)果可以返回任意字符串

    3.布爾值:
    假值:undefined,null,false,-0,NaN,''
    二元邏輯運(yùn)算符:JavaScript中的二元邏輯運(yùn)算符是短路的。如果第一個(gè)運(yùn)算數(shù)就是足以確定結(jié)果的話,則不會(huì)對(duì)第二個(gè)運(yùn)算數(shù)做評(píng)估。與(&&):如果第一個(gè)運(yùn)算數(shù)是假值,返回它。或(||):如果第一個(gè)運(yùn)算數(shù)是真值,返回它。
    4.IIFE:
    引入新的作用域。作用:去除閉包(函數(shù)以及它所連接的周圍作用域中的變量)造成的無意共享。
    例:
    var result=[];
    for(var i=0;i<5;i++)
    {
    result.push(function(){return i;});//(1)
    }
    console.log(result[1]()); //5  (not 1)
    console.log(result[3]()); //5  (not 3)
    標(biāo)記為(1)的這行返回值總是i的當(dāng)前值,而并非函數(shù)被創(chuàng)建時(shí)的值。在循環(huán)結(jié)束之后,i的值為5,所以數(shù)組中所有的函數(shù)都返回這個(gè)數(shù)值。如果想要標(biāo)記(1)這行的函數(shù)獲得當(dāng)前i值的一個(gè)快照,就可以使用IIFE.
    for(var i=0;i<5;i++)
    {
     (function (){
      var i2=i; 
      result.push(function(){return i2});  
     }()
    ) ; 
    }
    此上都是在整理過程中以前未注意或沒有了解到的部分知識(shí),寫在此處做知識(shí)點(diǎn)的補(bǔ)充之用。
    以上這篇JavaScript基礎(chǔ)重點(diǎn)(必看)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考