javascript深刻淺出 數組、函數和做用域

 

數組web

    概述:數組

        有序的集合,擁有索引閉包

        js中的數組是弱類型,可含有不一樣類型元素app

    建立數組:函數

        最大數數量 2^23-1
性能

        字面量this

        new Array()spa

    增刪改查:code

        增長
orm

            最後添加    arr.push(val)

            最前添加    arr.unshift(val)

            經過索引添加

        刪除

            最後刪除    arr.pop()

            最前刪除    arr.shift()

            經過索引刪除

            刪除後長度不變

        修改

            經過索引修改

        查看

            經過索引查看

            遍歷

                for

                    按順序,數字索引

                for...in

                    不按順序,可遍歷原型鏈

函數

    定義:

        函數是一塊代碼,被定義一次,但可調用屢次

    不一樣建立方式:

        函數聲明

            聲明前置,前面代碼可執行到

        函數表達式

            變量賦值

1
2
3
var  fun =  function  () {
 
};

            匿名函數當即執行

1
2
3
( function  () {
 
})();

            返回函數

1
2
3
return  function  () {
 
};

            命名函數表達式

1
2
3
var  fun =  function  foo() {
 
};

        函數構造器

            new Function();

    不一樣調用方式:

        直接調用    foo();

        對象方法    o.method();

        構造器    new Foo();

        call/apply/bind

    this:

        全局this

            =window

        通常函數的this

            =window

            嚴格模式爲 undefined

        對象方法的函數的this

            誰調用this指向誰

        原型鏈上的this

        get/set方法與this

            誰調用this指向誰

        構造函數中的this

            指向構造函數

        call/apply方法與this

            this指向從參數傳入的對象

        bind方法與this

            把對象做爲this傳入

            bing科裏化

    arguments:

        foo.length    形參個數

        arguments.length    實參個數

        arguments.callee    函數名


做用域

    閉包:

        是什麼

            一個函數的引用,與一個引用環境綁定在一塊兒

        作什麼

            循環中的事件可用閉包

            經常使用類庫使用閉包封裝

        優劣

            優勢

                靈活和方便

                封裝

            劣勢

    ​    ​    ​    ​性能消耗

    ​    ​    ​    ​內存泄露

    做用域:

    ​    ​沒有塊級做用域

    ​    ​三種做用域

    ​    ​    ​​全局

    ​    ​    ​函數

    ​    ​    ​eval

    ​    ​做用域鏈

    ​    ​    ​內層函數可範圍全部外層函數局部變量

相關文章
相關標籤/搜索