[導入]variable's scope in Javascript

          Posted on 2006-03-16 11:19 BlueO2 閱讀(496) 評論(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

          主站蜘蛛池模板: 锡林浩特市| 吉安市| 加查县| 凤山市| 从化市| 鹰潭市| 礼泉县| 兴和县| 成武县| 平江县| 云安县| 澎湖县| 浙江省| 大余县| 江阴市| 本溪| 丽江市| 斗六市| 滦平县| 安西县| 张北县| 白银市| 吉木萨尔县| 鸡西市| 忻州市| 开远市| 扎赉特旗| 本溪| 济源市| 乐都县| 安阳市| 安徽省| 加查县| 凌源市| 桐庐县| 双牌县| 张家界市| 申扎县| 高碑店市| 常德市| 长岛县|