现在统一都认为函数声明的提升优先于变量声明的提升,能不能给个例子证明这一观点?下面的例子,并不能论证这一观点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请各位大牛给个可以证明的例子,或者上述内容有啥不对的地方,万分感谢
3 回答
至尊宝的传说
TA贡献1789条经验 获得超10个赞
console.log(a) // undefined
var a = 1
console.log(a) // 1
把这个列子和第一个例子对比,就可以看出优先顺序了。
如果变量声明的优先级大于函数声明,那么你第一个例子的第一个打印值,应该是undefined,而不是函数引用。
例如是下面这种情况。
console.log(person); //undefined
function person() {
console.log('function')
}
console.log(person); //ƒ person() { console.log('function')}
var person = "variable";
console.log(person);//variable
添加回答
举报
0/150
提交
取消
