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(对象)是在所有的编程语言中都十分重要的一个概念,对于事物我们可以把他们看作是一个对象,而每一个事物都有自己的表示的属性和对于某一信息作出的相应的操作.而这些东西就变成了事物的属性和方法. ...
随机推荐
- macdown在mac OS 中的配置
macdown 用命令行打开.md文件 执行两条命令即可. sudo echo "open -a MacDown \$*" > /usr/local/bin/macdown ...
- Unicode化
为了程序编写方便,根除乱码问题等等需求,很多新项目都采用了Unicode编码.同时,不少使用MBCS多字节编码的旧项目为了升级,也有了转向Unicode编码的意向.不过,从MBCS升级到Unicode ...
- windows mysql默认配置文件
查询配置目录 select @@basedir; 查询数据目录 select @@datadir; 查询数据库编码 show variables like 'char% my.ini [mysql] ...
- 安装Android studio出现'tools.jar' seems to be not in Android Studio classpath......的解决方法
安装Android studio出现'tools.jar' seems to be not in Android Studio classpath......的解决方法 原创 2015年07月31日 ...
- PHP生产二维码
1.引入phpqrcode包 <?php include 'phpqrcode.php'; QRcode::png('http://www.learnphp.cn',"code.png ...
- 温故而知新-面向对象的PHP
1 类的多态 不同的类对同一操作可以有不同的行为. 比如自行车和汽车都有移动这个成员函数行为, 那么自行车类可以移动,行为和汽车的移动行为肯定不同. 2 析构函数不能有参数 3 __set和__get ...
- hex文件和bin文件区别
HEX文件和BIN文件是我们经常碰到的2种文件格式.因为自己也是新手,所以一直对这两个文件懵懵懂懂,不甚了解,最近在做STM32单片机的IAP更新,其中要考虑HEX文件和BIN文件,所以需要学习下这两 ...
- selenium webdriver——JS滚动到指定位置
1.DOM滚动方法 1.scrollIntoView(alignWithTop) 滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素.如果alignWithTop为true,或者省略它, ...
- zookeeper 节点讲解以及实际项目运用
转自:https://www.jianshu.com/p/86acf1df6cdd 前言:最近工作不是很忙,本应该乘着闲暇的时间看书的,之前每天晚上都要翻翻的,可是自己竟然迷恋上了王晓磊 写的 卑鄙的 ...
- hive中修改序列化格式分隔符
标签: hadoophivealtertable 2014-11-19 10:45 4219人阅读 评论(0) 收藏 举报 分类: hadoop(6) 版权声明:本文为博主原创文章,未经博主允许不 ...