学习nodeJs
参考:从浏览器到js到nodejs
你真的知道js的语法吗
作用域问题先看这段代码
1234567{ a = 1; function a() { }; a = 2; console.log(a); // 输出:2}console.log(a); // 输出:1
是不是很不解???常规思路都是输出2啊。没关系,在了解了JS块级作用域之后你就懂了
全局作用域和function在Ecma5之前只有函数和全局作用域,也就是全局window或者function(){...}函数之内,而且var和function,在未声明之前可以访问,原因是js有内部变量提前的特性在同一作用域下function函数和var声明的变量都会被提至当前作用域的顶层,var优先声明,function其次,其中function提升的同时,函数体的实现也定义了出来
1234567891011121314151617181920212223function test() { b(); console.log('我是函数'); var num ...