对象

var ob = {};

键值对

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

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

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

取值[]

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

取值.

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

删除

The delete operator removes a property from an object.

Syntax

delete expression 

where expression should evaluate to a property reference, e.g.:

delete object.property
delete object['property']

方法体

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

方法调用

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

错误的方法调用

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的更多相关文章

  1. JS Object.defineProperties()方法

    JS Object.defineProperties()方法 描述: Object.defineProperties()方法为目标对象同时配置多个属性. 语法: Object.defineProper ...

  2. js & Object reference bug

    js & Object reference bug bug object ref bug onClickButton (type = ``) { let { publishDate: publ ...

  3. JS Object Deep Copy & 深拷贝

    JS Object Deep Copy & 深拷贝 针对深度拷贝,需要使用其他方法 JSON.parse(JSON.stringify(obj));,因为 Object.assign() 拷贝 ...

  4. JS Object Deep Copy & 深拷贝 & 浅拷贝

    JS Object Deep Copy & 深拷贝 & 浅拷贝 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refe ...

  5. js & object & prototype & __proto__ & prototype chain

    js & object & prototype & proto & prototype chain constructor prototype === instance ...

  6. JS - Object and Property的删除用法

    在JS中,Object和Property的删除用法: var myObject = {name:'jimmy', age:12, height:123} delete myObject["j ...

  7. js object(对象)

    http://www.cnblogs.com/pingchuanxin/p/5773326.html Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象 ...

  8. js object 常用方法总结

    Object.assign(target,source1,source2,...) 该方法主要用于对象的合并,将源对象source的所有可枚举属性合并到目标对象target上,此方法只拷贝源对象的自身 ...

  9. js Object.create 初探

    1.作用 Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__. https://developer.mozilla.org/zh-CN/docs/W ...

  10. JS object(对象)的学习汇总

    Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象,而每一个事物都有自己的表示的属性和对于某一信息作出的相应的操作.而这些东西就变成了事物的属性和方法. ...

随机推荐

  1. bootstrap class sr-only 什么意思?

    bootstrap class sr-only 什么意思? 在看 bootstrap 内联表单时,label 有一个 class 是 sr-only. sr-only 是给屏幕阅读器用的,是给视力不方 ...

  2. Non-standard evaluation, how tidy eval builds on base R

    As with many aspects of the tidyverse, its non-standard evaluation (NSE) implementation is not somet ...

  3. 三大运营商2G/3G/4G频率分配和网络制式

    经过二十多年长期的发展,我国的通信业逐渐形成了2G/3G/4G并存的局面,手机通讯信号传输都是通过一定频率传输的,而三大运营商所拥有的频率和网络制式不尽相同,这就造成同一部手机在三大运营商之间可能不通 ...

  4. Hive 体系结构

    1.Hive架构与基本组成     下面是Hive的架构图. 图1.1 Hive体系结构     Hive的体系结构可以分为以下几部分:     (1)用户接口主要有三个:CLI,Client 和 W ...

  5. 给iOS开发新手送点福利,简述UISegment的属性和用法

    UISegment属性 1.segmentedControlStyle 设置segment的显示样式. typedef NS_ENUM(NSInteger, UISegmentedControlSty ...

  6. 给iOS开发新手送点福利,简述UITextField的属性和用法

    UITextField属性 0.     enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disabled的. ...

  7. lua的注释

    和C语言一样,lua也有单行注释和多行注释之分 单行注释: 采用“--”来对注释后面的字符进行注释,类似于 ISO C90之后的 C语言的注释"//" 多行注释:采用"- ...

  8. Struts2 学习记录-1--Struts2中的配置文件

    目录 1. web.xml 2. struts.xml 3. struts.properties文件 4.注解式开发 5.与Spring框架集成的配置 主要涉及3个配置文件:web.xml.strut ...

  9. js跳出for循环

    1 使用普通的for循环 注意foreach使用return或break都无法跳出循环 2 使用every跳出循环, every 方法会遍历数组中的所有元素来判断是否满足条件,如果有一个元素返回fal ...

  10. An Introduction To Value at Risk (VAR)

    http://www.investopedia.com/articles/04/092904.asp http://www.jpmorgan.com/tss/General/email/1159360 ...