Javascript中的对象是无处不在的,function,boolean,正则等都是对象。对象主要用于收集和管理数据。
1)它内部数据以“属性名-属性值”的形式存在,如下,
var empty_object = {};
var stooge = {
"first-name": "Jerome",
"last-name": "Howard"
};
2)属性名,可以是任何字符串,如空字串也是可以的,双引号不是必须的;属性值可以是除undefined的任何
值。
如果值是对象,那么嵌套的对象和父对象就有了父子关系,轻易实现“树”关系。
var flight = {
airline: "Oceanic",
number: 815,
departure: {
IATA: "SYD",
time: "2004-09-22 14:55",
city: "Sydney"
},
arrival: {
IATA: "LAX",
time: "2004-09-23 10:42",
city: "Los Angeles"
},
tell: (r){
alert(t);
}
};
3)prototype属性使对象可以很容易的继承属性,减少初始化时间和节省内存。
if (typeof Object.beget !== 'function') {
Object.beget = function (o) {
var F = function () {};
F.prototype = o;
return new F();
};
}
var another_stooge = Object.beget(stooge);
another_stooge['first-name'] = 'Harry';
another_stooge['middle-name'] = 'Moses';
another_stooge.nickname = 'Moe';
stooge.profession = 'actor';
another_stooge.profession // 'actor'
4)访问属性的形式:
a)使用点符号:stooge. first-name
b)使用中括号:stooge.[first-name]
5) undefined:访问的时候当属性不存在的时候,
Stooge.num //undefined
如果我们要访问属性没有定义的时候给它赋个初始值:
var y=stooge.num||”yu”;
6)更新对象:
用赋值语句: stooge.num=”yu”;
7)对象通过引用传递,不可能被复制。
区别:
var a = {}, b = {}, c = {}; // 不同的空对象
a = b = c = {};//引用同一个空对象
8)反射
typeof stooge. first-name //string
typeof stooge. fight //object
typeof flight.tell // function
9)枚举,它有两种方式使用。:
a)var name;
for (name in another_stooge) {
if (typeof another_stooge[name] !== 'function') {
document.writeln(name + ': ' + another_stooge[name]);
}
}
b)var i;
var properties = [
'first-name',
'middle-name',
'last-name',
'profession'
];
for (i = 0; i < properties.length; i += 1) {
document.writeln(properties[i] + ': ' +
another_stooge[properties[i]]);
}
}
9)delete:原型属性不能删除,在对象内部用var 和function 直接声明的属性和方法不能删除,并且delete
会返回值,删除了不能删除的属性会返回false,否则返回true,需要的注意的是删除没有的属性时候也会返回
true.
10)定义包:
var MYAPP = {};
MYAPP.stooge = {
"first-name": "Joe",
"last-name": "Howard"
};
MYAPP.flight = {
airline: "Oceanic",
number: 815,
departure: {
IATA: "SYD",
time: "2004-09-22 14:55",
city: "Sydney"
},
arrival: {
IATA: "LAX",
time: "2004-09-23 10:42",
city: "Los Angeles"
}
};
js的对象特性
最新推荐文章于 2022-07-05 16:19:24 发布