<!DOCTYPE html>
<html lanf2="en">
<head>
<meta charset="UTF-8">
<title>一些关于函数与变量的预处理和执行的事</title>
</head>
<body>
<script>
alert(f1)
function f1(){//执行这个
alert(2);
}
function f1(){
alert(1);
}
//预处理阶段时函数是忽视替换的,而变量是替换的。
//上面未定义之前就使用是属于预处理阶段的,函数是忽视替换。所以显示的是第一个。
function f2(){
alert(3)
}
function f2(){ //执行这个
alert(4)
}
alert(f2)
//处理阶段时,上面这相当于重新赋值。
//上面这个是正常的处理阶段,相同的会替换,函数和变量会置顶而且函数比变量的置顶等级高。
alert(f3)
var f3=function (){
alert(6)
}
function f3(){//执行这个
alert(5)
}
//预处理阶段时函数是忽视替换的,而变量是替换的。函数等级比变量高。
//上面未定义之前就使用是属于预处理阶段的,函数是忽视替换。函数会替换掉变量。
var f4=function (){//执行这个
alert(7)
}
function f4(){
alert(8)
}
alert(f4)
//相当于处理阶段时,上面这相当于重新赋值。
//上面这个是正常的处理阶段,相同的会替换,而且函数比变量的置顶等级高。而变量会在下面,所以这个相当于重新赋值。
alert(f5)
var f5=function (){
alert(9)
}
var f5=function (){//执行这个,但是是undefined
alert(10)
}
//预处理阶段时函数是忽视替换的,函数指向引用,变量是undefined
//上面未定义之前就使用是属于预处理阶段的,函数指向引用,变量是undefined
var f6=function (){
alert(11)
}
var f6=function (){//执行这个
alert(12)
}
alert(f6)
//相当于处理阶段时,上面这相当于重新赋值。
//上面这个是正常的处理阶段,相同的会替换.
</script>
</body>
</html>
一些关于函数与变量的预处理和执行的事
最新推荐文章于 2024-07-27 21:39:57 发布