下面是关于“Javascript入门·对象属性方法大总结”的完整攻略。
Javascript入门·对象属性方法大总结
什么是对象?
在Javascript中,对象是一种复合数据类型,用于将数据和功能组织成逻辑单元。Javascript中的对象可以看作是属性(属性名-属性值的键值对)的集合,以及一些可以操作这些属性的方法。
创建一个对象可以使用两种方法:对象字面量和构造函数。
对象字面量
对象字面量是创建对象最简单的方法,它由花括号组成,并由一组属性或方法组成,每个属性或方法之间以逗号分隔,属性由属性名和属性值组成,属性名和属性值之间以冒号分隔。
var person = {
name: '张三',
age: 22,
gender: '男'
};
构造函数
构造函数可以用来创建一个对象模板,它便于多次创建相似的对象。通常情况下,我们需要将构造函数的首字母大写。
function Person(name, age, gender) {
this.name = name;
this.age = age;
this.gender = gender;
}
var person1 = new Person('张三', 22, '男');
var person2 = new Person('李四', 24, '女');
对象属性
Javascript中的对象是一组属性(property)的集合。属性又由属性名(name)和属性值(value)两个部分组成,属性名必须是字符串或者Symbol类型中的一个,属性值可以是任意的Javascript值。
对象属性有两种类型:自有属性和继承属性。
自有属性是直接在对象上定义的属性,而继承属性则是从对象的原型链上继承来的属性。
如何访问对象属性?
可以使用点号(.)或方括号([])来访问对象的属性,其中,用点号来访问属性的语法更加简洁,但是如果属性名中包含非法的字符,就必须使用方括号。
var obj = {
name: '张三',
age: 22,
gender: '男'
};
console.log(obj.name); // 张三
console.log(obj['age']); // 22
添加和修改对象属性
可以使用点号或方括号来添加或修改对象的属性,如果对象中已经存在该属性,则修改属性的值,否则添加属性。
var obj = {
name: '张三',
age: 22,
gender: '男'
};
obj.city = '北京'; // 添加属性
console.log(obj.city); // 北京
obj.age = 23; // 修改属性
console.log(obj.age); // 23
删除对象属性
可以使用delete关键字来删除对象的属性,删除的是对象的自有属性,如果该属性是继承来的,则不会被删除。
var obj = {
name: '张三',
age: 22,
gender: '男'
};
delete obj.age;
console.log(obj); // {name: "张三", gender: "男"}
对象方法
对象的方法是指挂载在对象上的函数,它们是对象的行为和功能。方法可以被对象调用,同样也可以带有参数。
定义对象方法
定义对象方法的方式和定义函数一样。
var person = {
name: '张三',
age: 22,
gender: '男',
sayHello: function() {
console.log('大家好,我叫'+this.name+',今年'+this.age+'岁,'+this.gender+'生。');
}
};
person.sayHello(); // 大家好,我叫张三,今年22岁,男生。
在方法内部,this代表当前的对象。
示例1:黑白棋游戏
下面,结合一个黑白棋游戏的例子,来说明如何创建对象以及修改对象属性。
首先,定义一个棋盘对象,属性包括行数、列数和游戏状态,方法包括绘制棋盘和重置棋盘。
var chessboard = {
rows: 8,
cols: 8,
isGameOver: false,
draw: function() {
// 绘制棋盘
},
reset: function() {
// 重置棋盘
}
};
然后,定义一个棋子对象,属性包括颜色和位置,方法包括在棋盘上落子和翻转棋子。
var chessPiece = {
color: null,
position: null,
drop: function() {
// 在棋盘上落子
},
flip: function() {
// 翻转棋子
}
};
示例2:学生信息管理系统
下面,结合一个学生信息管理系统的例子,来说明如何使用构造函数创建对象以及访问和修改对象属性。
首先,定义一个学生类,包括姓名、年龄、性别和成绩属性,以及计算平均分的方法。
function Student(name, age, gender, score) {
this.name = name;
this.age = age;
this.gender = gender;
this.score = score;
this.avgScore = function() {
var totalScore = 0;
for (var i = 0; i < this.score.length; i++) {
totalScore += this.score[i];
}
return totalScore / this.score.length;
};
}
然后,创建学生对象并访问和修改它的属性。
var student1 = new Student('张三', 22, '男', [80, 85, 90]);
console.log(student1.name); // 张三
student1.score.push(95);
console.log(student1.avgScore()); // 87.5
这里,我们使用构造函数创建了一个学生对象,并使用点号和方括号访问了它的属性,还使用了push方法向成绩数组中添加了一个元素。最后,调用了计算平均分的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript入门·对象属性方法大总结 - Python技术站