在 JavaScript 中,几乎“所有事物”都是对象。
一.对象定义
1.定义
布尔是对象(如果用 new 关键词定义)
数字是对象(如果用 new 关键词定义)
字符串是对象(如果用 new 关键词定义)
日期永远都是对象
算术永远都是对象
正则表达式永远都是对象
数组永远都是对象
函数永远都是对象
对象永远都是对象
所有 JavaScript 值,除了原始值,都是对象。
2.JavaScript 原始值
原始值指的是没有属性或方法的值。
原始数据类型指的是拥有原始值的数据。
JavaScript 定义了 5 种原始数据类型:
string
number
boolean
null
undefined
3.对象方法
方法是可以在对象上执行的动作。
对象属性可以是原始值、其他对象以及函数。
对象方法是包含函数定义的对象属性。
属性 值
firstName Bill
lastName Gates
age 62
eyeColor blue
fullName function() {return this.firstName + " " + this.lastName;}
4.创建对象的两种方式
1.使用对象字面量(最简单)
例如:
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
2.使用 JavaScript 关键词 new
var person = new Object();
person.firstName = "Bill";
person.lastName = "Gates";
person.age = 50;
person.eyeColor = "blue";
注意:JS中对象易变,变量是不易变的;
二.JavaScript 属性
属性指的是与 JavaScript 对象相关的值。
JavaScript 对象是无序属性的集合。
属性通常可以被修改、添加和删除,但是某些属性是只读的。
1.访问 JavaScript 属性
1). person.age
2). person["age"]
2.JavaScript for...in 循环(语句遍历对象的属性)
例如:
var person = {fname:"Bill", lname:"Gates", age:62};
for (x in person) {
txt += person[x];
}
3.添加属性
person.nationality = "English";
4.删除属性
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
delete person.age; // 或 delete person["age"];
注:
delete 关键词会同时删除属性的值和属性本身。
删除完成后,属性在被添加回来之前是无法使用的。
三:对象方法
举例:
var person = {
firstName: "Bill",
lastName : "Gates",
id : 648,
fullName : function() {
return this.firstName + " " + this.lastName;
}
};
创建对象方法:
methodName : function() { 代码行 }
访问对象方法:
objectName.methodName()
如果把 fullName() 描述为 person 对象的方法,把 fullName 描述为属性。
fullName 属性在被通过 () 调用后会以函数形式执行。
此例访问 person 对象的 fullName() 方法:
使用内建方法
此例使用 String 对象的 toUpperCase() 方法,把文本转换为大写:
var message = "Hello world!";
var x = message.toUpperCase();
x 的值,在以上代码执行后将是:
HELLO WORLD!