[導(dǎo)入]variable's scope in Javascript

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

          主站蜘蛛池模板: 锦屏县| 大邑县| 河北区| 府谷县| 湘西| 桦甸市| 闸北区| 奉贤区| 嘉兴市| 上高县| 平乡县| 马关县| 光泽县| 江西省| 建平县| 仁怀市| 祁门县| 晋州市| 登封市| 五峰| 景德镇市| 金寨县| 永善县| 北川| 勃利县| 沙湾县| 邢台县| 洮南市| 长兴县| 西峡县| 封丘县| 健康| 汽车| 玛多县| 东光县| 马关县| 湘潭市| 太康县| 凌海市| 安塞县| 兖州市|