[導入]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

          主站蜘蛛池模板: 富阳市| 天柱县| 日喀则市| 荆州市| 正蓝旗| 乌审旗| 西城区| 周宁县| 凤凰县| 布尔津县| 吴川市| 潢川县| 揭西县| 临泽县| 中阳县| 开封市| 海晏县| 桃园县| 科尔| 辰溪县| 定西市| 福海县| 西和县| 晴隆县| 革吉县| 长汀县| 观塘区| 枝江市| 抚顺市| 米脂县| 抚远县| 得荣县| 辽中县| 甘德县| 哈尔滨市| 遂平县| 南乐县| 千阳县| 河东区| 崇义县| 六安市|