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

    ​    ​做用域链

    ​    ​    ​内层函数可范围全部外层函数局部变量

相关文章
相关标签/搜索