js-对象
js-对象(简述)
(1) 什么是对象
现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有行为和特征。
- JavaScript中的对象其实就是生活中对象的一个抽象,
- 其属性可以包含基本值、对象或函数。
对象就是一组没有顺序的值。我们可以把JavaScript中的对象想象成键值对,其中值可以是数据和函数。
(2) 本质: 键值对;
(3) 意义:存储数据和编程;
(4) 创建方式:
1. 通过new关键字创建对象:
- var obj = new Object();
- // 添加属性
- obj.name = "admin";
- // 添加方法
- obj.show = function () {
- console.log( "我是"+this.name );
- };
2. 通过字面量创建对象
- var obj = {
- name : "zhangsan",
- age : "18",
- show : function () {
- console.log(''我是''+this.name+"年龄"+this.age);
- }
- };
3. 通过构造函数创建对象
- function Person(name, age) {
- this.name = name;
- this.age = age;
- this.say = function(name) {
- console.log("你好: " + name + "!");
- };
- }
- // 创建两个Person对象
- var person1 = Person("admin1", 18);
- var person2 = Person("admin2", 28);
(5) 属性和方法
如果一个变量属于一个对象所有,那么该变量就可以称之为该对象的一个属性,属性一般是名词,用来描述事物的特征
如果一个函数属于一个对象所有,那么该函数就可以称之为该对象的一个方法,方法是动词,描述事物的行为和功能
(6) 访问对象的属性和方法
1.点语法:
形为: 对象.具体属性或方法;
2.中括号语法:
形为: 对象[变量] 或 对象[“具体属性或方法”];
区别:中括号法可以用变量作为属性名,而点语法不可以;
中括号法可以用数字作为属性名,而点语法不可以。
- var obj = {
- name : "xiaoming",
- age : 18,
- 123:123,
- show : function () {
- console.log("我是"+this.name+"年龄"+this.age);
- }
- };
- console.log(obj["name"]); // 输出:"xiaoming"
- console.log(obj.name); // 输出:"xiaoming"
- var age = "age";
- console.log(obj[age]); // 输出:18
- console.log(obj["123"]); // 输出:123
(7) 对象的遍历
- var obj = {
- name : "xiaoming",
- age : 18,
- 123:123,
- show : function () {
- console.log("我是"+this.name+"年龄"+this.age);
- }
- };
- for(var i in obj){
- console.log(i)//输出的是key;
- }
(8)删除对象的属性(最好不用):
delete 对象.属性/方法