zoukankan      html  css  js  c++  java
  • JavaScript模式 --- 札记

    全局变量的问题

    创建隐式全局变量的反模式是带有var声明的链式赋值。在下面的代码片段中, a 是局部变量, b 是全局变量,这也许并不是你想要的

    function foo(){
      var a = b = 0; //var a   window.b;
    
      // ....
    }

    //造成上面的原因是源于从右至左的操作符优先级。首先,优先级较高的是表达式 b=0, 此时b未声明。表达式的返回值为0,它被赋给 var 声明的局部变量 a.
    /* 建议这样做 */ function foo(){   var a, b;   // ...   a = b = 0; // 均为全局变量 }

    保留字

    保留字不能被用来命名变量或参数,当保留字被用做对象字面量的键值时,它们必须被引号括起来。 它们不能被用在 . 点表示法中,所以有时候必须使用括号表示语法。

    1     var method;                 // ok
    2     var class;                  // 非法
    3     object = {box: value};      // ok
    4     object = {case: value};     // 非法
    5     object = {"case": value};     // ok
    6     object.box = value;         // ok
    7     object.case = value;        // 非法
    8     object['case'] = value      // ok
  • 相关阅读:
    03JavaScript实现轮播特效21
    03JavaScriptBOM(location...)20
    03JavaScriptBOM(window)19
    03JavaScriptDOM事件18
    03JavaScriptDOM基础17
    03JavaScript函数16
    03JavaScript的流程控制语句15
    03JavaScript语法14
    02css布局案例
    Sublime Text 3 配置 C/C++ 编译器
  • 原文地址:https://www.cnblogs.com/juhualang/p/3753625.html
Copyright © 2011-2022 走看看