第十三天H5进阶

来源:互联网 发布:软件存储权限 编辑:程序博客网 时间:2024/06/14 17:22

对象

- 对象的字面量- var obj = {};    - 使用这种方式也可以创建一个对象,原理和new Object()是一样。    - 最后一个属性赋值后不要加 ,- 创建对象时直接添加属性:    -  {            属性名:属性值,            属性名:属性值,            属性名:属性值,            属性名:属性值,            属性名:属性值       }       注意:当属性名比较特殊时,可以使用双引号括起来,但是一般不要起特殊的名字。        - 对象的属性值的没有任何类型限制,可以是基本数据类型,也可是任意的对象。       

函数

- 函数也是一个对象。- 函数是一个比较特殊的对象,它里边除了可以封装属性以外,还可以封装一些可以执行的代码。- 将代码封装到函数对象中以后,不会立即执行,它会在函数调用以后再执行- 函数创建方式:    第一种:        var fun = new Function("代码的字符串"); --> 不用    第二种:        - 函数声明表达式        - 语法:             function 函数名(形参...){                语句...             }        例子:            function sum(a , b , c){                return a+b+c;            }    第三种        - 匿名函数        - 语法:            var 函数名 = function(形参...){                语句...            }        例子:            var sum2 = function(a,b){                return a+b;            };- 函数的调用:    - 函数调用的本质是:函数的引用+()    - 调用sum函数:        sum(1,2,3);    - 调用函数时浏览器不会检查实参的类型和个数,只会根据函数名去调用       - 立即执行函数:        (function(形参..){语句...})(实参...);- 返回值:    - 在函数执行完毕以后,我们可以通过return返回一个值,作为函数的执行结果    - return后边可以跟着一个任意的值(基本数据类型或对象都可以)    - 如果return后边不跟任何内容,则默认返回undefined。    - 如果不写return也会默认返回undefined    - 当函数中编写return以后,return后的所有的代码将不会再执行。    - 函数的返回值可以是一个基本数据类型,也可以是一个对象- 函数也可以作为一个对象的属性!    - 当通过一个对象去调用一个函数时,我们说调用了一个对象的方法。

执行环境

- JS引擎(浏览器)在运行JS代码的时候,需要准备一个环境用来执行JS代码,这个环境就是我们说的执行环境。- 执行环境分成两种:全局执行环境和函数执行环境- 浏览器执行代码的流程:    1.开辟一块内存作为执行环境    2.创建一个“变量对象”用来保存程序执行过程当中的所有的变量        - 变量对象是不可访问的,但是除了全局执行环境的变量对象        - 全局执行环境的变量对象是window对象        - 程序运行过程中所有的变量都会作为变量的对象属性保存            而所有的函数都会作为变量对象的方法保存        - 我们在全局执行环境中的所有的变量,和函数都会设置为window对象的属性和方法。      3.预解析        - 这时代码并不会由上至下执行,而是找两个东西var和function(函数声明表达式)        - 所有的var都会被设置为变量对象的属性,但是并不会复制,也就是是undefined        - 所有的函数声明表达式中的函数,都会设置为变量对象的方法并赋值完毕        (函数声明表达式是在第三步执行的,第四步已经不会在执行了)        - 没写var声明的变量,都会在第四步进行赋值,所有的没写var的变量最终都会作为window对象的属性保存            也就是会变成全局变量!!    4.逐行执行代码        - 一行一行的执行程序的代码,但是函数声明表达式不会再执行。    5.代码执行完毕        - 销毁执行环境(腾出内存的空间)        - 注意:全局执行环境不会在代码执行完毕后立即销毁                它会在浏览器关闭以后才销毁。- 函数执行环境    - 函数执行环境和全局执行环境步骤是一样的,只不过它范围要小一些- 作用域:    - 作用域指的是我们在某个执行环境只能访问作用域以内的变量,而超出这个作用域的变量,我们将不能访问。