< p >今天我們要談論的話題是javascript中對象的二要素是什么。相信大家在學習javascript的時候都會接觸到對象,那么對象的構成有哪些呢?對象的構成主要是由屬性和方法兩個部分構成的。下面我們詳細的來了解一下。< /p >
< p >首先,我們先來看屬性。屬性是指對象所擁有的特征,包括對象的狀態和行為特征等等。比如一個人對象,它可以有身高、體重、年齡、性別等等這些屬性。下面是一個簡單的例子:< /p >
< pre >
var person = {
height: 180,
weight: 70,
age: 25,
gender: 'male'
};
< /pre >
< p >以上代碼是一個簡單的person對象,它包含了四個屬性:height、weight、age和gender。訪問這些屬性也十分簡單,可以使用點運算符或者中括號來訪問。比如想要訪問person對象的身高屬性可以這樣寫:< /p >
< pre >
console.log(person.height);
console.log(person['height']);
< /pre >
< p >以上兩種方法都可以訪問到person對象的height屬性。但是需要注意的是,在使用中括號來訪問屬性時需要把屬性名用引號括起來。< /p >
< p >除了使用點運算符和中括號來訪問屬性以外,我們還可以給對象動態的添加屬性或者刪除屬性。比如給person對象添加一個新的屬性:< /p >
< pre >
person.weight = 75;
console.log(person.weight);
< /pre >
< p >以上代碼給person對象增加了一個weight屬性,并且把它的值設置為75。訪問weight屬性時就會輸出75。如果我們想刪除一個屬性的話,可以使用delete操作符來刪除:< /p >
< pre >
delete person.weight;
console.log(person.weight);
< /pre >
< p >以上代碼把person對象的weight屬性刪除了,訪問weight屬性時會輸出undefined。< /p >
< p >接下來,我們再來看一下對象的另外一個重要部分——方法。方法是指對象所擁有的行為特征,比如一個人對象可以有吃飯、睡覺、工作等等這些方法。下面是一個簡單的例子:< /p >
< pre >
var person = {
name: 'Tom',
eat: function(food) {
console.log(this.name + ' is eating ' + food);
}
};
< /pre >
< p >以上代碼是一個person對象,它包含了一個屬性name和一個方法eat。eat方法的作用是輸出一個人在吃什么。調用這個方法的時候需要傳入一個參數,即要吃的食物。我們可以這樣來調用它:< /p >
< pre >
person.eat('apple');
< /pre >
< p >以上代碼會輸出'Tom is eating apple',這個方法內部使用了this關鍵字來指代當前的person對象。如果我們把person對象復制給了另外一個變量,那么在這個變量上調用eat方法時會輸出什么呢?< /p >
< pre >
var person1 = person;
person1.name = 'Peter';
person1.eat('banana');
< /pre >
< p >以上代碼會輸出'Peter is eating banana',可以看到,我們修改了person1對象的name屬性為Peter,但是在調用eat方法時,輸出的依然是Peter。這是因為調用eat方法時,內部使用的this關鍵字指代的是調用對象,也就是person1。< /p >
< p >以上就是javascript中對象的二要素,即屬性和方法。了解了這些內容以后,我們可以更好地使用javascript的對象來實現一些功能了。< /p >
< p >首先,我們先來看屬性。屬性是指對象所擁有的特征,包括對象的狀態和行為特征等等。比如一個人對象,它可以有身高、體重、年齡、性別等等這些屬性。下面是一個簡單的例子:< /p >
< pre >
var person = {
height: 180,
weight: 70,
age: 25,
gender: 'male'
};
< /pre >
< p >以上代碼是一個簡單的person對象,它包含了四個屬性:height、weight、age和gender。訪問這些屬性也十分簡單,可以使用點運算符或者中括號來訪問。比如想要訪問person對象的身高屬性可以這樣寫:< /p >
< pre >
console.log(person.height);
console.log(person['height']);
< /pre >
< p >以上兩種方法都可以訪問到person對象的height屬性。但是需要注意的是,在使用中括號來訪問屬性時需要把屬性名用引號括起來。< /p >
< p >除了使用點運算符和中括號來訪問屬性以外,我們還可以給對象動態的添加屬性或者刪除屬性。比如給person對象添加一個新的屬性:< /p >
< pre >
person.weight = 75;
console.log(person.weight);
< /pre >
< p >以上代碼給person對象增加了一個weight屬性,并且把它的值設置為75。訪問weight屬性時就會輸出75。如果我們想刪除一個屬性的話,可以使用delete操作符來刪除:< /p >
< pre >
delete person.weight;
console.log(person.weight);
< /pre >
< p >以上代碼把person對象的weight屬性刪除了,訪問weight屬性時會輸出undefined。< /p >
< p >接下來,我們再來看一下對象的另外一個重要部分——方法。方法是指對象所擁有的行為特征,比如一個人對象可以有吃飯、睡覺、工作等等這些方法。下面是一個簡單的例子:< /p >
< pre >
var person = {
name: 'Tom',
eat: function(food) {
console.log(this.name + ' is eating ' + food);
}
};
< /pre >
< p >以上代碼是一個person對象,它包含了一個屬性name和一個方法eat。eat方法的作用是輸出一個人在吃什么。調用這個方法的時候需要傳入一個參數,即要吃的食物。我們可以這樣來調用它:< /p >
< pre >
person.eat('apple');
< /pre >
< p >以上代碼會輸出'Tom is eating apple',這個方法內部使用了this關鍵字來指代當前的person對象。如果我們把person對象復制給了另外一個變量,那么在這個變量上調用eat方法時會輸出什么呢?< /p >
< pre >
var person1 = person;
person1.name = 'Peter';
person1.eat('banana');
< /pre >
< p >以上代碼會輸出'Peter is eating banana',可以看到,我們修改了person1對象的name屬性為Peter,但是在調用eat方法時,輸出的依然是Peter。這是因為調用eat方法時,內部使用的this關鍵字指代的是調用對象,也就是person1。< /p >
< p >以上就是javascript中對象的二要素,即屬性和方法。了解了這些內容以后,我們可以更好地使用javascript的對象來實現一些功能了。< /p >