javascript笔记 (持续更新)

1. 语言主要分为两大类:编译型语言解释型语言

对于静态语言来说(如Java、C++、C),处理上述这些事情的叫编译器(Compiler),相应地对于JavaScript这样的动态语言则叫解释器(Interpreter)。

这两者的区别用一句话来概括就是:

编译器是将源代码编译为另外一种代码(比如机器码,或者字节码),而解释器是直接解析并将代码运行结果输出。我们常用的firebug就是一个JavaScript解释器。

2. JavaScript引擎解析脚本时, “预编译” 阶段。

首先会创建一个环境的上下文对象,然后把使用var声明的变量,作为上下文对象的属性,以undefined先行初始化使用function关键字声明的函数,也作为上下文对象的属性,定义出来,而函数则保留了定义的内容。----在这个过程中,函数定义的优先级 高于 变量定义

3.立即执行函数+闭包

 1 var addFn = (function() {
 2   var i = 1;
 3   return function() {
 4     console.log(++i);
 5   }
 6 })()
 7 
 8 addFn();  //2
 9 addFn();  //3
10 addFn();  //4
11 addFn();  //5
12 addFn();  //6

猜你喜欢

转载自www.cnblogs.com/spotman/p/10398682.html