实际运行的状况是以下函数
function f1() {
-- var scope ;spa
console.log(scope) ;
var scope = 'local' ;
console.log(scope)
}
f1();
备注:
声明提早了,而赋值语句没有改变位置
因为第一个变量scope在函数中第一次使用以前已经声明了,因此能够使用,
可是因为没有赋值,因此打印出来的值为undefinedblog
js中的函数声明提高到外部脚本,或外部做用域的顶部作用域
因此上面的代码类型于
function f1(name) {
console.log(name );
}
f1('name') ;
备注
至关于将函数定义提早了
io
函数表达式建立法
以下图console
至关于function
var f2 ;变量
f2('name') ;
f2 = function(name) {
console.log('什么节能快要到了!') ;
}语法
变量声明提早了,赋值语句没有变位置,由于函数没有定义,因此报错im
2018-03-30 21:12:30