第十三天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.代码执行完毕 - 销毁执行环境(腾出内存的空间) - 注意:全局执行环境不会在代码执行完毕后立即销毁 它会在浏览器关闭以后才销毁。- 函数执行环境 - 函数执行环境和全局执行环境步骤是一样的,只不过它范围要小一些- 作用域: - 作用域指的是我们在某个执行环境只能访问作用域以内的变量,而超出这个作用域的变量,我们将不能访问。
阅读全文
0 0
- 第十三天H5进阶
- 第三天 H5进阶
- 第十天H5进阶
- 第十一天H5进阶
- 第十五天H5进阶
- 第十七天H5进阶
- 第十八天H5进阶
- 第十九天H5进阶
- 第二十三天H5进阶
- Java进阶学习第十三天——JSTL&EL学习
- 第十三天
- 第十三天
- 第十三天
- 第十三天
- 第十三天
- 第十三天
- 【南大软院大神养成计划:第十二天&第十三天】JS,进阶的巨人(二)
- 世界杯第十三天
- mapreduce编程练习(一)简单的练习 WordCount
- Lowest Common Ancestor of a Binary Tree
- 如何看待 Google 最新的系统 Fuchsia?
- 对LOWORD, HIWORD, LOBYTE, HIBYTE的理解
- Unity在导入官方Assets出现“提示上下文不存在SessionState”问题的解决办法
- 第十三天H5进阶
- linux查看和修改PATH环境变量的方法
- 七个用户体验设计的小提示,创建最佳的移动设计
- HTML5之FileReader的使用,兼容IE10+
- maven项目不下载源码
- centos7 防火墙firewall
- Gym_100971k_Palindromization (回文串)
- android annotations
- Oracle 12.2新特性掌上手册