原地址 http://www.cnblogs.com/fool/archive/2010/10/07/javascrpt.html 开门见山,我们先来看一下代码: var is = function (obj,type) { var toString = Object.prototype.toString; var _baseTypes = {'undefined':'undefined','number':'number','boolean':'boolean','string':'strin…
JavaScript 内存泄露 1.什么是闭包.以及闭包所涉及的作用域链这里就不说了. 2.JavaScript垃圾回收机制 JavaScript不需要手动地释放内存,它使用一种自动垃圾回收机制(garbage collection).当一个对象无用的时候,即程序中无变量引用这个对象时,就会从内存中释放掉这个变量. Java代码 var s = [ 1, 2 ,3]; var s = null; //这样原始的数组[1 ,2 ,3]就会被释放掉了. var s = [ 1, 2 ,3]; var…
一.背景 var a = 20; var b = 'abc'; var c = true; var d = { m: 20 } 因为JavaScript具有自动垃圾回收机制,所以对于前端开发来说,内存空间并不是一个经常被提及的概念,很容易被大家忽视.特别是很多不是计算机专业的朋友在进入到前端之后,会对内存空间的认知比较模糊,甚至有些人干脆就是一无所知. 当然也包括我自己.在很长一段时间里认为内存空间的概念在JS的学习中并不是那么重要.可是后我当我回过头来重新整理JS基础时,发现由于对它们的模糊认…
经常有人会在JavaScript里写如下的方法: function checkType() { var s1 = 123; var s2 = "OK"; if (s1 instanceof Number) { alert("s1 is a number."); } if (s2 instanceof String) { alert("s2 is a String."); } } 问题在哪里呢? 首先我们要理解,JS里,var本身是一个泛型,它并不…