`

2015.03.14--js值传递和参数传递,js对象数组深度拷贝,Css z-index,omDialog里面写form会造成与omMessageBox冲突

阅读更多
今日任务:
1.企业部门编辑、删除

实际:
完成

收获:
1.JS中基本数据类型是值传递,但是对象和数组类型是引用传递,可能是出于运行效率和内存考虑吧,这点跟java这种强类型的语言比较类似
  示例1:
  var i = 2;
  var j = i;
  i = 3;
  alert(j);  // 输出3


  示例2:
  var obj1 = {
     children:[{a:1},{a:2},{a:3}],
     id: 1,
     text: 'haha'
  };

  function test(data)
  {
      var obj2 = data;
      obj2.children = {};

      alert("obj1="obj1.children); 
      alert("obj2="obj2.children); 
 }
 
 alert(obj1.children)  // 输出[object][object][object]
 test(obj1);  // 输出obj1=[object]  obj2=[object]


深度拷贝方法:
var objectClone = function(sObj)
{
      if(typeof sObj !== "object"){       
            return sObj;       
      }       
      var s = {};   
    
      if(sObj.constructor == Array){       
          s = [];       
      }   
    
      for(var i in sObj){       
          s[i] = Object.clone(sObj[i]);       
      }       
      return s;   
}

 
2.CSS中z-index的值越小越远离用户

3.OMUI当中,omDialog里面尽量不要写form,不然当Dialog上面再弹出其它的控件时(如omMessageBox),会有冲突
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics