摘要:
编程语言中,引用类型的数据占用内存中的空间比较大,最终都要释放这些内存以便他们能被再用。javascript中,字符串,对象,数组没有固定大小。javascript中有垃圾收集的方法来释放。注:不同浏览器的垃圾收集器也是不一样的,同一浏览器的不同版本垃圾收集器也可能有所不同。例1:程序中使用的变量再也无法引用这个对象了.var s = "hello";var u = s.toUpperCase();s = u; //s和u都指向了“hello”大写后的字符串运行这段代码后,程序中没有变量再引用"hello"字符串了,系统一检测到这一事实后,就会释放该字符 阅读全文
摘要:
不管何种语言,在进行运算操作之前,进行验证是非常重要的,可以避免一些简单的错误出现。1 如进行DOM方法获取节点之前的验证。if(document.getElementById) var myBtn = document.getElementById("btn");//用if验证是否有这个方法,因为getElementById为document的一个指向方法的属性,如果未定义会返回undefined,undefined转换为bool类型为false;2 在函数中有可选参数的时候,对可选参数是否存在进行验证。可以用||或者if判断。function add(a,b,c){ a 阅读全文
摘要:
闭包从smalltalk开始,几乎所有知名动态语言都支持闭包,javascript也不例外。闭包的定义非常晦涩——闭包,是指语法域位于某个特定的区域,具有持续参照(读写)位于该区域内自身范围之外的执行域上的非持久型变量值能力的段落。这些外部执行域的非持久型变量神奇地保留它们在闭包最初定义(或创建)时的值(深连结)。闭包与函数的关系就好像动态与静态,结构与实例的关系。javascript中闭包是通过function实现的。闭包的“闭”指闭包的内部环境对外部的不可见,简单地说,即闭包的领域是对外封闭的。我通常认为闭包是一种引用结构,至少在javascript中是这样的,javascript中的闭包 阅读全文