JS函数运行在它们被定义的作用域内,而不是它们被执行的作用域内
2011-10-14 09:12
260 查看
var nanm="xiongzhengxiang"; function showName(){ alert(name); var name="JS"; } showName();
思考:这里会输出什么呢?
亲自试试!
这是因为函数运行时,先在本作用域内查找name,发现有,但是还未赋值(因为在alert后面才赋值)。所以输出undefined。记住,脚本是不做预处理的,运行到哪里,才执行到哪里。
相关文章推荐
- 在iframe里调用parent.func()引出的js函数运行在它们被定义的作用域里,而不是它们被执行的作用域里
- 函数在定义它们的作用域里运行,而不是在执行它们的作用域里运行
- JS作用域为“函数级作用域”,记住最简明的一句“函数中声明的所有变量,无论是在哪里声明的,在整个函数中它们都是有定义的。”QQ253079952
- JS运行过程,作用域和上下文的作用,自执行函数
- js 函数的执行环境和作用域链的深入解析
- js 函数的执行环境和作用域链的深入解析
- js 函数的执行环境和作用域链的深入解析
- JS中定义函数的两种方式哪个优先级高·引出变量和函数声明的运行顺序
- js自执行函数的定义
- js 定义 "立即执行函数"
- 【经验积累】js 同一层函数内,定义变量的操作最先执行
- js触发单击事件(不是调用某组件定义的单击函数,而是触发,相当于你点击)
- js中自执行函数的作用
- JS定义一个立即执行的可重用函数
- 变量在函数体内和函数内嵌作用域内定义区别
- JS中函数运行的执行次序
- js的匿名函数定义之后立刻执行
- js 在定义的时候立即执行的函数表达式(function)写法
- JS:惰性函数定义?不是最优化方案
- .net 服务器事件和客户端js事件的执行顺序以及在脚本运行前定义脚本要修改的 HTML 元素