js对象的定义
js对象的定义
对象的定义
对象的直接量
var object = {//定义对象:object
a:100;// 属性a=100
b:100;//熟悉b=100
c:"licheng";//属性c="licheng"字符串
}
通过new创建对象
var ob = new Object();//创建一个空对象,相当于var ob={};
var array = new Array();//创建一个空数组。和[]一样。
Object.create()
对象原型:对象原型类似与java里面的Object所有类的父类。每一个对象都是从原型继承来的。
var O1= Object.create({x:1,y:2});//O1对象继承了属性x,y
var O2= Object.create(Object.prototype);//创建一个新空对象。相当于var a = {}; var o = new Object();
对象属性获取和设置
var people = {name:"licheng";age:12;};
people.name //获取name属性。
var tname = people["name"];//第二种方式属性获取通过[]获取属性名称,是通过字符串索引的方式查找属性的。js中所有的对象都是关联数组。
people.age//获取age属性。
people.sex = "male"; //属性赋值。
通过原型继承创建一个新对象
var object2 = {name="licheng"; age = 10;};
var object3 = inherit(object2);//object3 继承了 object2的属性。
delete属性。
var object1 = {name:"licheng",age:12};
delete object1.name;//可以删除name属性。
//不可删除全局的变量,全局的函数,不可删除不可配置的属性。例如
delete Object.prototype;//不可删除。属性是不可配置的。
var x = 1;//不可删除全局变量
delete this.x;
function x (){};//声明一个全局函数,
delete this.x ;//不可删除
检测属性
关键字 in
方法hasOwnProperty() 该方法用来检测给定的名字是否是对象的自有属性,继承属性返回false
”!==” 判断一个属性是否为 undefined 。属性不是undefined 返回true 是undefined返回false
var object = {x:1};
o.hasOwnProperty(x);//返回true自有属性
o.hasOwnProperty(y);//返回false 无这个属性
o.hasOwnProperty("toString";//返回false 继承父类的方法
getter 和 setter
var pepole = {
name:"licheng",
age:10,
//get关键字开头
get mame(){ return this.name;},//get方法
//set关键字开头 中间
set age1(age){ //set方法
this.age = age;
},
get theta(){ return "licheng"}
// getter setter的访问 console.log(pepole.name)得到 licheng pepole.age1 = 10 .
// console.log(pepole.age = 10)
}
具体示例
var TcManager = {//定义对象
init: function() {//定义init方法
this.handleTcName();
},
handleTcName: function() {//定义handleName方法
$(".firstTD").each(function(index, el) {
var tcName = $(this).text(); //表示当前元素 this
if (tcName.length > 40) {
tcName = tcName.substring(0, 40) + "...";
$(el).html(tcName);
}
});
}
};
浙公网安备 33010602011771号