js 代码块(<script type...></script>)
一:函数声明与函数定义表达式在函数调用间的区别
<script type="text/javascript">
doA();
var doA = function(argument) {
console.log('执行了')
}
</script>
执行出错---doA未定义(函数定义表达式)
<script type="text/javascript">
doA();
function doA(argument) {
console.log('执行了')
}
</script>
执行成功
结论:函数声明在编译期处理了函数声明,但是函数定义表达式并没有初始化与赋值。类似声明了一个变量,但是变量没有赋值。
二:多个script之间对于变量的关系
JS是按照代码块来进行编译和执行的,代码块间相互独立,但变量和方法共享。
三:这样就造成了一个问题,当我们一个页面中引入多个js的时候,可能会造成全局变量的污染。
避免方式:在函数中去定义变量
浙公网安备 33010602011771号