對象


對象

對象的行為和特征

    特征---屬性

    行為---方法

事物的特征在對象中用屬性來表示。

事物的行為在對象中用方法來表示。

對象創建方式

對象字面量

var o = {
  name: 'zs',
  age: 18,
  sex: true,
  sayHi: function () {
    console.log(this.name);
  }
};   

new Object()創建對象

var person = new Object();
  person.name = 'lisi';
  person.age = 35;
  person.job = 'actor';
  person.sayHi = function(){
  console.log('Hello,everyBody');
}

工廠函數創建對象

function createPerson(name, age, job) {
  var person = new Object();
  person.name = name;
  person.age = age;
  person.job = job;
  person.sayHi = function(){
    console.log('Hello,everyBody');
  }
  return person;
}
var p1 = createPerson('張三', 22, 'actor');

自定義構造函數

function Person(name,age,job){
  this.name = name;
  this.age = age;
  this.job = job;
  this.sayHi = function(){
    console.log('Hello,everyBody');
  }
}
var p1 = new Person('張三', 22, 'actor');

屬性和方法

1. 如果一個變量屬於一個對象所有,那么該變量就可以稱之為該對象的一個屬性,屬性一般是名詞,用來描述事物的特征

2. 如果一個函數屬於一個對象所有,那么該函數就可以稱之為該對象的一個方法,方法是動詞,描述事物的行為和功能

new關鍵字

構造函數,是一種特殊的函數。主要用來在創建對象時初始化對象,即為對象成員變量賦初始值,總與new運算符一起使用在創建對象的語句中。

1.、構造函數用於創建一類對象,首字母要大寫。

2.、構造函數要和new一起使用才有意義。

new在執行時會做四件事情:

1、new會在內存中創建一個新的空對象

2、new會讓this指向這個新的對象

3、new會返回這個新對象

、this詳解

函數內部的this幾個特點:

1. 函數在定義的時候this是不確定的,只有在調用的時候才可以確定

2. 一般函數直接執行,內部this指向全局window

3. 函數作為一個對象的方法,被該對象所調用,那么this指向的是該對象

4. 構造函數中的this其實是一個隱式對象,類似一個初始化的模型,所有方法和屬性都掛載到了這個隱式對象身上,后續通過new關鍵字來調用,從而實現實例化

對象的使用

遍歷對象的屬性

通過for..in語法可以遍歷一個對象

刪除對象的屬性

function fun() { 
  this.name = 'mm';
}
var obj = new fun(); 
console.log(obj.name); // mm 
delete obj.name;
console.log(obj.name); // undefined

  1. JavaScript 錯誤


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM