先看下面2个例子
上面代码报错
求阶层一把使用
在EMCAscript第五版的静态模式中,callee被禁用
作用域
1.全局作用域2.函数作用域1.1.全局作用域 是函数之外(最外层代码)的作用域. 在函数之外进行声明的名称属于全局作用域,这里的名称就是所谓的全局变量及全局函数 在函数内进行声明的名称拥有的函数作用域,又称局部作用域,作为函数形参的参数变量也属于局部函数作用域。 在javascript中函数作用域与进行声明的行数没有关系
局部变量的作用域是整个函数f内部,由于此时还没有对其赋值,所以最开始读取的是undefined
其与下面代码等价所以建议在函数的开始处对所有的局部变量进行声明
块级作用域
js中不存在块级作用域let与块级作用域 js随无块级作用域,let可实现同等效果 一.let定义(let声明) 二.let语句 三.let表达式 1.let定义 let var1[=value1] [,var2 [=value2] .........;