随笔分类 - 你所不知道的JavaScript
摘要:1、数组 在 JavaScript 中,数组可以容纳任何类型的值,可以是字符串、数字、对象(object),甚至是其他数组(多维数组就是通过这种方式来实现的) 。 《你所不知道的JavaScript(中)》P11 看看下面的代码: 对数组声明后即可向其中加入值,不需要预先设定大小 。有一点需要注意的
阅读全文
摘要:ECMAScirpt 变量有两种不同的数据类型:基本类型,引用类型。也有其他的叫法,比如原始类型和对象类型等。 1、内置类型 JavaScript 有七种内置类型: • 空值(null) • 未定义(undefined) • 布尔值(boolean) • 数字(number) • 字符串(strin
阅读全文
摘要:一、闭包是什么? · 闭包就是可以使得函数外部的对象能够获取函数内部的信息。 · 闭包是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。 · 闭包就是一个“捕获”或“携带”了其被生成的环境中、所属的变量范围内所引用的所有变量的函数。 还有很多很多解
阅读全文
摘要:很多编程语言在执行的时候都是自上而下执行,但实际上这种想法在JavaScript中并不完全正确, 有一种特殊情况会导致这个假设是错误的。来看看下面的代码, console.log(a) 会输出什么呢? 有些人可能会认为是 undefined,因为 var a 声明在 a = 2 之后,他们自然而然地
阅读全文
摘要:let 众所周知,在ES6之前,声明变量的关键字就只有var。var 声明变量要么是全局的,要么是函数级的,而无法是块级的。 再来看看下面这个栗子: 这是一道很经典的笔试题,也是很多初学者经常犯错而且找不到原因的一段代码。想要实现的效果是点击不同的<li>标签,alert出其对应的索引值,但是实际上
阅读全文
摘要:变量的赋值操作会执行两个动作, 首先编译器会在当前作用域中声明一个变量(如果之前没有声明过), 然后在运行时引擎会在作用域中查找该变量, 如果能够找到就会对它赋值。 《你所不知道的JavaScript(上)》 P7 而要讲的 LHS 和 RHS 就是上面说的对变量的两种查找操作,查找的过程是由作用域
阅读全文