[导入]variable's scope in Javascript

Posted on 2006-03-16 11:19 BlueO2 阅读(479) 评论(0)  编辑  收藏 所属分类: AJAX

See DFlying's finding:
Yep,No Block Scope concept in JavaScript.Only the global and function Scope.You can use "var" to declare a global variable and use "var" agian to declare a homonymous variable in a function.In the function ,the second one works.But there is no Block scope.
Check the codes below,it's a demo for "NO BLOCK SCOPE"
function test(o) {var i = 0; // i is defined throughout functionif (typeof o == "object") {var j = 0; // j is defined everywhere, not just blockfor(var k = 0; k < 10; k++) { // k is defined everywhere, not just loopdocument.write(k);

}document.write(k); // k is still defined: prints 10}document.write(j); // j is defined, but may not be initialized}

But,You still need to care javascript's FUNCTION SCOPE.Also see code snippet:
var scope = "global";

function f( ) {alert(scope); // Displays "undefined", not "global"var scope = "local"; // Variable initialized here, but defined everywherealert(scope); // Displays "local"}f( );
Right,thought you alert(scope) first and then define a new functin scope variable scope.However,once you define a function scope vriable,it will hide the global variable in the function body,whatever the definition order.



文章来源:http://blueoxygen.dflying.net/3/archive/68_variables_scope_in_javascript.html

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 29, comments - 3, trackbacks - 0, articles - 0

Copyright © BlueO2