现在统一都认为函数声明的提升优先于变量声明的提升,能不能给个例子证明这一观点?
下面的例子,并不能论证这一观点
console.log(person); //ƒ person() { console.log('function')}
function person() {
console.log('function')
}
console.log(person); //ƒ person() { console.log('function')}
var person = "variable";
console.log(person);//variable
无论是变量声明还是函数声明哪个优先,结果都是一样的;
// 假设变量声明优先,实际代码如下
var person;
function person() {
console.log('function')
}
console.log(person); //ƒ person() { console.log('function')}
console.log(person); //ƒ person() { console.log('function')}
person = "variable";
console.log(person);//variable
// 假设函数声明优先,实际代码如下
function person() {
console.log('function')
}
var person;
console.log(person); //ƒ person() { console.log('function')}
console.log(person); //ƒ person() { console.log('function')}
person = "variable";
console.log(person);//variable
请各位大牛给个可以证明的例子,或者上述内容有啥不对的地方,万分感谢
标准里就是这么写的呀。。。
你后面那段代码,先声明变量然后在声明函数,一开始得到的 person 是函数,反过来也是一样的,这不就说明函数声明优先级要大么。
否则,谁写在前面谁大不就是第一个是变量,第二个才是函数么。。。或者后面的优先级大。。。
变量声明提示说的就是函数一开始的时候变量默认的值呀,在函数执行过程中肯定可以给函数赋其他值
http://zonxin.github.io/post/...