[JavaScript] Script 中 function, variable 的定义会提升到函数执行前面;但是,function 中定义的 global variable 则不会被提升
2011-09-10 11:34
555 查看
1、Script 中 function, variable 的定义 会提升到函数执行前面
2、但是,function 中定义的 global variable 则不会被提升
2、但是,function 中定义的 global variable 则不会被提升
<html> <head> <script type="text/javascript"> function demoForIn(){ //只有此 function 被调用时,glbInFunction 才会被定义到 global scope 中 glbInFunction = "I'm a global variable, and I'm defined in a function"; var obj = {'a':123, b:456};//注意:a 是用 JavaScript identifier,而 b 是一个字符串 //当然,即使这样,我们在 typeof tmpName 时,得到的都是 string for(tmpName in obj){// 调用此方法时,会使得 global scope 中 定义一个 tmpName alert(typeof tmpName);//string alert(tmpName);//注意:tmpName仅仅是属性的名字(是个字符串) alert(obj[tmpName]);// for/in时正确的遍历方法 alert(obj.tmpName);//无法通过此方法调用(不会报错,但是得到的值是 undefined) } } function main(){ // 注释掉后:执行时会报错,因为 glbInFunction, tmpName 未定义 // 保留此句,则 glbInFunction 就是 demoForIn()定义的值;tmpName为 b demoForIn(); alert(glbInScript); alert(glbInFunction); alert(tmpName) } var glbInScript="I'm a global variable, and I'm defined in script"; </script> </head> <body> <form> <input type="button" name="demojavascript" value="Demo for/in" onclick="main();"/> </form> </body> </html>
相关文章推荐
- javascript Function对象的length属性及js函数的预执行
- 深入理解JavaScript执行上下文、函数堆栈、提升的概念
- Javascript Function对象扩展之延时执行函数
- Javascript Function对象扩展之延时执行函数
- ES6---箭头函数与function定义函数有什么区别?在箭头函数中,this指向,构造函数,变量提升是如何表现的?
- [转载]深入理解JavaScript执行上下文、函数堆栈、提升的概念
- 深入理解javascript中的立即执行函数(function(){…})()
- JavaScript系列:函数 自执行 表达式 声明 定义
- javascript中的自执行(立即执行)函数(function(){…})()
- Javascript基础_12深入理解javascript中的立即执行函数(function(){…})()
- js 立即执行函数,() .则前面的function 是表达式,不能是函数申明
- 深入理解JavaScript中的立即执行函数(function(){……})()
- Javascript实践-Function对象扩展之延时执行函数
- JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() 有什么区别?
- 深入理解javascript中的立即执行函数(function(){…})()
- js 在定义的时候立即执行的函数表达式(function)写法
- 深入理解javascript中的立即执行函数(function(){…})()
- JavaScript 函数声明,函数表达式,匿名函数的区别,深入理解立即执行函数(function(){…})()
- 简介Javascript中的立即执行函数(immediate function)
- 深入理解javascript中的立即执行函数(function(){…})()