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 对象.属性/方法