4.1、JavaScript中的变量分为基础数据类型和引用数据类型
JavaScript中有5个基础数据类型undefiend、null、string、number、bool类型。其复制方式为给它加个副本,也就是与原来的变量没有任何关联了。
JavaScript中引用类型的复制方式是将变量的引用赋值给新的变量,它们指向的是同一个对象。可以用instanceof运算符来检测是哪种对象,也可以使用对象中的constructor 属性。
4.2、执行环境和作用域
JavaScript代码是在执行环境中运行的,代码中的变量都有其作用域。当代码在一个环境中执行的时候就会产生一个作用域链,我们就是根据作用域链来判断变量能不能够访问。
一般来说作用域链是上面的不能访问下面的,而下面的能够访问上面的。也就是说访问变量时,我们就会在作用域链中去找这个变量。当我们在当前执行环境中没有找到这个变量时,
就会在其上层执行环境中找直到全局环境,如果没有找到就说明该变量没有声明。当找到这个变量时就会立即停止向上查找。
try{}catch{}、和with语句能够延长作用域链。
4.3、垃圾收集
JavaScript现在一般的垃圾收集机制是用标记清除法。就是将变量做好标记,当回收垃圾的时候将这些标记的变量清除。
浙公网安备 33010602011771号