局部变量优先级比全局变量优先级高,这本没什么,但若局部变量与全局变量重名,那就有的说了,看代码: <script type="text/javascript"> var str='test'; function shuchu(){ document.write(str+'<br/>'); var str='world'; document.write(str+'<br/>'); } shuchu(); </script> 输出: undefined world 原因:局部变量作用于整个作用域. 原因解释:正因为局部变量作用于整个作用域,所以函数shuchu中的第一行document.write(str+'<br/>');中的str是用的局部变量,然而此时尚未赋值,所以会出现undefined. ^_^ 有点意思. |
|
来自: 竹林书屋@ > 《JavaScript学习笔记》