码迷,mamicode.com
首页 > Web开发 > 详细

js Object

时间:2016-08-05 19:48:27      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

对象

var ob = {};

键值对

可以做为key的有 :数字,boolean(某些浏览器不支持,比如IE),字符串(不包含标识符)

可以作为value的有 :一切可以解析为具体值的代码

var o = {true:3,sdf:2,2:1};

取值[]

alert(o["true"]);     //3
alert(o[1==1]);      //3
alert(o[true]);     //3
alert(o["sdf"]);        //2
alert(o["s"+"d"+"f"]); //2
alert(o[sdf]);        //Uncaught ReferenceError: sdf is not defined
alert(o["2"]);   //1
alert(o[3-1]);  //1
alert(o[2]);   //1
var o = {key:1,key:2,key:3};
alert(o["key"]);//3
  • 先解析中括号里的内容,然后转成字符串key查询value
  • 中括号里的标识符需要预先定义
  • 对象中存在相同key时,取后者
  • 遭遇error后,下面的代码不继续执行

取值.

alert(o.true);    //3
alert(o."true"); //Uncaught SyntaxError: Unexpected string 
alert(o.sdf);        //2
alert(o.2);      //Uncaught SyntaxError: Unexpected number 
  • 点后只能跟字母组成的key,不能包含数字,双引号

方法体

function f(a){
 return a;
}
var o ={f:f};
alert(o.f);//function(a){return a;}
alert(o.f());//undefined
alert(o.f(1));//1

方法调用

var o = {a:f(1)};
alert(o.a); //1

错误的方法调用

function f1(a){
}
var o = {a:f1(1)};
alert(o.a);//undefined
alert(o.a(1));//Uncaught TypeError: undefined is not a function 
});

获取对象取key与value

var o = {
    true: 1,
    false: 2,
    1 : 3,
    aaa: 4
};
for (key in o) {
    alert(key + ":" + o[key]);
}
  • key为关键字,不能用key1等代替
  • 这种方法取到的key均为字符串,如:"1","0","true","false"
  • 可用eval() 得到本来的值,eval("false")==false

 

var s = "asdf";  
var b = "false";  
alert(eval(b));//false
alert(eval(s));//Uncaught ReferenceError: asdf is not defined 

jQuery

<script type="text/javascript" src = "js/jquery-1.10.2.min.js" ></script>

$.each(o,function(i,n){  
    alert(i+":"+n);// 第i个n元素  
});

扩展***************************

var o1={};
var o2={a:1};
var o3={a:2,b:2}
var o =  $.extend(o1,o2,o3);


for(k in o){
alert(k+":::::::::"+o[k]);
}
  • 请事先引入jQuery,src以实际情况为准。
  • jQuery.extend
  • 继承,即扩展某个对象
  • 名字相同直接替换,不是与运算。
  • 名字不同,补充

  

+++++++++++++++动手试一试(本文章使用Chrome浏览器测试)+++++++++++++++++

利用文本创建一个简单的html文件。

aaa.txt

aaa.html

<html>
    
    <head>
        <script type="text/javascript">
            var sdf = aaa;
            var o = {
                true: 21,
                false: 11,
                sdf: 3,
                aaa: 4
            };
            alert(o[sdf]);
        </script>
    </head>
    
    <body>
    </body>

</html>

 

js Object

标签:

原文地址:http://www.cnblogs.com/zno2/p/4488582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!