您的位置:首页 > Web前端 > JavaScript

文章标题

2017-05-16 10:32 253 查看

变量、作用域

基本类型和引用类型

基本类型:值保存

* Undefined、Null、Boolean、Number 和 String

对象类型:引用保存,可以增加动态属性

* Object

执行环境及作用域

每个函数有一个执行环境

嵌套的执行环境构成作用域链

标识符解析沿着作用域链一层层搜索

try-catch 会创建作用域

with会创建作用域

没有块级作用域

函数

函数是对象

没有重载 :

以 像传递参数一样把一个函数传递给另一个函数,而且可以将一个函数作为另一个函数的结果返回

函数声明 VS 函数表达式

解析器会率先读取函数声明,并使其在执行 9 任何代码之前可用(可以访问);至于函数表达式,则必须等到解析器执行到它所在的代码行,才会真 正被解释执行

函数内部属性

arguments

arguments.callee

this:this 引用的是函数据以执行的环境对象——或者也可以说是 this 值(当在网页的全局作用域中调用函数时, this 对象引用的就是 window)

caller:ECMAScript 5 也规范化了另一个函数对象的属性

函数属性&方法

length:希望接收的命名参数的个数

prototype:对于 ECMAScript 中的引用类型而言,prototype 是保存它们所有实例方法的真正所在。换句话说,诸如 toString()和 valueOf()等方法实际上都保存在 prototype 名下,只不过是通过各自对象的实例访 问罢了。在创建自定义引用类型以及实现继承时,prototype 属性的作用是极为重要的(第 6 章将详 细介绍)。在 ECMAScript 5 中,prototype 属性是不可枚举的,因此使用 for-in 无法发现。

apply()和 call():在特定的作 用域中调用函数,实际上等于设置函数体内 this 对象的值。首先,apply()方法接收两个参数:一个 是在其中运行函数的作用域,另一个是参数数组。其中,第二个参数可以是 Array 的实例

在严格模式下,未指定环境对象而调用函数,则 this 值不会转型为 window。 除非明确把函数添加到某个对象或者调用 apply()或 call(),否则 this 值将是 undefined。

单体内置对象

Global:属于任何其他对象的属性和方法,最终都是它的属性和方法。事实上,没有全 局变量或全局函数;所有在全局作用域中定义的属性和函数,都是 Global 对象的属性。encodeURI、encodeURIComponent、eval、window

面向对象

?????

函数表达式

函数声明 VS 函数表达式

函数声明

函数声明提升,执行代码之前先读取函数声明

函数表达式

表达式是匿名函数,结果是一个值,可以赋予变量

递归

“`javascript

““

闭包

概念

有权访问另一个函数作用域中变量的函数。

创建闭包常见的方式,是在一个函数内部创建另一个函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript