javaScript入门-对象
环境: Mac GoogleChrome
概述:
对象Object是javaScript的最重要的数据类型,简单的说,object就是一种无序的符合数据集合。
/* 格式为: key:value 1. key若为字符串的话,是否添加引号都无所谓 2. 若key为数值,会自动转换为字符串 3. value可为任何数据类型,比如函数 */ var obj = { foo: 'foo', 'bar': 'bar', 1: 'number', getCount: function(num) { return 2 * num; }, }; obj.foo // "foo", 或者使用obj['foo'] obj.bar // "bar" obj[1] // "number" ,或使用obj['1'] 不要使用obj.1会报错,Unexpected number obj.getCount(1) // 4
对象赋值,可直接声明,或者新增属性,比如:
// 直接赋值 var obj = {count: 1}; // 新增属性 var obj = {}; obj.count = 1;
对象的查看属性操作,可使用: Object.keys
var obj = {key1: 1, key2:2}; Object.keys(obj); // ["key1", "key2"]
属性的删除,可使用delete,删除成功后,会返回true
var obj = {key1:1,key2:2,key3:3}; Object.keys(obj); // ["key1", "key2", "key3"] // 删除指定的元素,返回true delete obj.key3; // true Object.keys(obj); // ["key1", "key2"] // 注意删除不存在的元素,也返回true delete obj.key3; // true
查看对象中是否存在某个key键,可使用: in
var obj = {1:'number', key1: 'key1', 0.7:0.7}; '1' in obj; // true 1 in obj; // true 0.7 in obj; // true 0.8 in obj; // false // 它存在的问题是,不能识别哪些属性是自己的,哪些属性是继承的 var newObj = {}; if ('toString' in newObj) { // 通过 hasOwnProperty 判定是否为对象自身属性 console.log(newObj.hasOwnProperty('toString')); // false }
对象的遍历,可使用循环: for ... in
var obj = {a: 1, b: 2, c: 3}; for (var i in obj) { console.log(i, obj[i]) } /* a 1 b 2 c 3 */
...

浙公网安备 33010602011771号