四、变量、作用域和内存有关问题
四、变量、作用域和内存问题?五种基本类型的值在内存种占据固定大小空间,因此被保存在栈内存种,引用类型的值
四、变量、作用域和内存问题
?
五种基本类型的值在内存种占据固定大小空间,因此被保存在栈内存种,引用类型的值是对象,保存在堆内存中。确定一个值是哪种基本类型用typeof操作符,而确定一个值是哪种应用类型可以用instanceof操作符,但在多框架的页面中存在问题,常用Object.prototype.toString.call(value)判断,检测数组还可用ECMAScript 5提供的Array.isArray()方法,但得考虑支持性。延长作用域链的办法:(1)try-catch语句的catch块;(2)with语句(没有块级作用域)垃圾收集的实现方式:(1)标记清楚;(2)引用计数(存在循环引用时失效,IE8-的BOM和DOM采用了C++的COM对象为引用计数策略)。
?