javascript学习过程中的一些总结

来源:互联网 发布:jsbrowser是什么软件 编辑:程序博客网 时间:2024/05/16 08:57

1、javascript不同于其他语言,for循环中定义的变量是可以在for循环外面使用的,也就是说,它的for循环没有限定作用域

var test =function () {   for (var i=0;i<10;i++){        //..   }   console.log(i);}test();

输出结果10.

2、javascript变量可以先使用,后定义,因为变量的申明终是会被提升到最顶部。但是如果在定义之前使用,变量的值是undefined

var test = function () {    console.log(name);    var name = "qiaokun";};test();

原因:javascript引擎在进入作用域时,会对代码进行两次处理:第一次,初始化变量;第二次:执行代码

3、自执行函数解决了变量污染的问题,这样想一下,有些变量只是出现在某些特定用处,我们可以将这些变量以及他们的使用放在一个自执行函数中,外部是无法访问这些自执行函数中的变量的。

(function () {    //undefined    console.log(name);    var name = "qiaokun";    // qiaokun    console.log(name);})()// errorconsole.log(name);

4、闭包:阻止垃圾回收机制回收变量,在执行环境之外也能访问到该变量。闭包因保存函数而创建,闭包就是一个函数引用另外一个函数的变量,因为变量被引用着所以不会被回收,因此可以用来封装一个私有变量。这是优点也是缺点,不必要的闭包只会徒增内存消耗!

5、js中的delete,可以删除对象的属性,不能删除像var 创建的变量或者函数




原创粉丝点击