<script>
    var bds = {
      se: {},
      comm: {
        ishome: 1,
        sid: "1434_2448_1945_1788_2249_2252",
        user: "",
        username: "",
        sugHost: "http://suggestion.baidu.com/su",
        personalData: "",
        loginAction: []
      }
    }
  </script>
这一段,我想问问这个语法是啥意思哇初始化变量?还是怎么?bds是个什么类型的变量哇为什么后面有大括号百度

解决方案 »

  1.   

    这是JS中面向对象的知识。
    定义对象有两种方式
      1:var obj = new Object();
      2:var obj = {};
    打个比方,se:{},se是名字,{}中的是值
      

  2.   

    var bds = bds || {};
    bds.se = bds.se || {};
    bds.se.store = (function() {
      var r = {},
      v = window,
      s = v.document,
      z = "localStorage",
      e = "globalStorage",
      y = "__storejs__",
      w;
      r.disabled = false;
      r.set = function(b, a) {};
      r.get = function(a) {};
      r.remove = function(a) {};
      r.clear = function() {};还有这段代码里面前两句又是什么意思哇。。
    第三句里的那个store又是哪里冒出来的哇?
      

  3.   

    ||是与运算符,举个例子:a || b,如果相与的结果为true,则返回a,若为false,返回b;上段代码定义了se:{},bds.se.store,意思是给se定义了一个store属性,为函数指针
    我们也可以这样来定义:
      
      var bds = new Object();
      bds.se = {};
      bds.se.store = function(){……}
      

  4.   

    || 和 &&  
    a= a || b 相当于
    if(!a) 
       a= b;
    这个操作一般用于给a 一个默认值,比如一个事件缓存对象,可以这样做
      var events= {};
       var addEvent= function(evnet,fn){
           var es = events[evnet]= events[evnet] || [];   //先保证events[evnet] 已经被设为一个array;
       }a= a && b 
    则相当于
      if(a ) 
         a= b;这一套把戏在jQuery里很常用,用于输入不确定函数