js Object
对象
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的更多相关文章
- JS Object.defineProperties()方法
JS Object.defineProperties()方法 描述: Object.defineProperties()方法为目标对象同时配置多个属性. 语法: Object.defineProper ...
- js & Object reference bug
js & Object reference bug bug object ref bug onClickButton (type = ``) { let { publishDate: publ ...
- JS Object Deep Copy & 深拷贝
JS Object Deep Copy & 深拷贝 针对深度拷贝,需要使用其他方法 JSON.parse(JSON.stringify(obj));,因为 Object.assign() 拷贝 ...
- JS Object Deep Copy & 深拷贝 & 浅拷贝
JS Object Deep Copy & 深拷贝 & 浅拷贝 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Refe ...
- js & object & prototype & __proto__ & prototype chain
js & object & prototype & proto & prototype chain constructor prototype === instance ...
- JS - Object and Property的删除用法
在JS中,Object和Property的删除用法: var myObject = {name:'jimmy', age:12, height:123} delete myObject["j ...
- js object(对象)
http://www.cnblogs.com/pingchuanxin/p/5773326.html Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象 ...
- js object 常用方法总结
Object.assign(target,source1,source2,...) 该方法主要用于对象的合并,将源对象source的所有可枚举属性合并到目标对象target上,此方法只拷贝源对象的自身 ...
- js Object.create 初探
1.作用 Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__. https://developer.mozilla.org/zh-CN/docs/W ...
- JS object(对象)的学习汇总
Object(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象,而每一个事物都有自己的表示的属性和对于某一信息作出的相应的操作.而这些东西就变成了事物的属性和方法. ...
随机推荐
- linux中内核延时函数 (转)
第一类延时函数原型是:(忙等) void ndelay(unsigned long nsecs); void udelay(unsigned long usecs); void mdelay(unsi ...
- 【monkeyrunner】monkeyrunner脚本录制和回放
脚本录制 1.连接你已经打开调试模式的ANDROID设备或模拟器,输入adb devices 2.运行录制脚本.在cmd窗口输入 monkeyrunner recorder.py #recorder. ...
- mysql中去重 distinct 用法
在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...
- ruby的代码风格
http://stylesror.github.io/ 大部分同意,有小部分,不敢苟同.
- arm-linux-gcc配置安装
1.首先去下载arm-linux-gcc压缩包 https://pan.baidu.com/s/15QLL-mf0G5cEJbVP5OgZcA 密码:ygf3 2.把压缩包导入到Linux系统:htt ...
- 揭秘 Python 中的 enumerate() 函数
原文:https://mp.weixin.qq.com/s/Jm7YiCA20RDSTrF4dHeykQ 如何以去写以及为什么你应该使用Python中的内置枚举函数来编写更干净更加Pythonic的循 ...
- MTU&MSS
MTU是Maximum Transmission Unit的缩写,意为最大传输单元,通俗的理解就是在网络上传送的最大数据包,单位是字节. 以太网对数据帧的长度都有一个限制,其最大值为1500,这个特性 ...
- (转)Chrome开发者工具不完全指南(一、基础功能篇)
本篇转载自卖烧烤夫斯基,并做了小部分的修改. 原文地址:Chrome开发者工具不完全指南(一.基础功能篇) 原作者:卖烧烤夫斯基 就算你不是一名前端开发工程师,相信你也不会对Chrome浏览器感到陌生 ...
- echarts x轴文字显示不全(解决方案)
echarts x轴标签文字过多导致显示不全 如图: 解决办法1:xAxis.axisLabel 属性 axisLabel的类型是object ,主要作用是:坐标轴刻度标签的相关设置.(当然yAxis ...
- python greenlet 背景介绍与实现机制
最近开始研究Python的并行开发技术,包括多线程,多进程,协程等.逐步整理了网上的一些资料,今天整理一下greenlet相关的资料. 并发处理的技术背景 并行化处理目前很受重视, 因为在很多时候,并 ...