總結JS對象(一)

1.對象:Javascript中全部事物都是對象,如:數值、數組、字符串、函數... 還能夠自定義對象

對象的分類:
    
    (1)內部對象:Boolean類、Number類、字符串string、Date類
        【Array、Boolean、Date、Function、Global、Math、Number、Object、RegExp、String以及各類錯誤類對象,包括Error、EvalError、RangeError、ReferenceError、SyntaxError和TypeError】
    其中Global和Math這兩個對象又被稱爲「內置對象」,這兩個對象在腳本程序初始化時被建立,沒必要實例化這兩個對象。
    
    (2)宿主對象:
         就是執行JS腳本的環境提供的對象。對於嵌入到網頁中的JS來講,其宿主對象就是瀏覽器提供的對象,因此又稱爲瀏覽器對象,如IE、Firefox等瀏覽器提供的對象。不一樣的瀏覽器提供的宿主對象可能不一樣,即便提供的對象相同,其實現方式也截然不同!這會帶來瀏覽器兼容問題,增長開發難度。
    瀏覽器對象有不少,如Window和Document等等。
    
    (3)自定義對象:即程序員用代碼本身定義的

2.對象的屬性:

屬性是與對象相關的值。

訪問對象屬性的語法是:objectName.propertyName

example:
    var obj='hello everyone!';
    console.log(obj.length);
    打印結果:15

3.訪問對象的方法:

方法是可以在對象上執行的動做
語法:objectName.methodName();
example:
    var obj='hello everyone!';
    obj.toUpperCase();
    打印結果:HELLO EVERYONE

4.對象的多種建立方式:

圖片描述

1.使用字面量直接建立程序員

example:
var obj={
 key:value,
 key:value,
 method:function(){
  alert('I am Method');
 }
}

用法:obj.method();數組

2.Object構造函數建立瀏覽器

example:
 var obj= new Object();
 obj.name='lucky',
 obj.age='18'  

用法:obj();

3.使用工廠方式建立函數

example:
 function object(name, age, Introduction) {
  var o = new Object(); //建立對象
  o.name = 'lucky',
  o.age = '18',
  o.Introduction = function() {
   alert(o.name, o.age);
 }
 return o;
}

4.使用構造函數建立this

example:
 function Introduction(name,age,Introduction){
  this.name=name;
  this.age=age;
  this.Introduction=function(){
   alert('My name is' + this.name + 'My age' + this.age);
  }
}
用法: var s1=new Introduction('Lili','16');
var s2=new Introduction('Meimei','17');

5.使用原型建立spa

example:
 function Proto(){}
  Proto.prototype.name='Lili';
  Proto.prototype.age='12';
  Proto.prototype.Introducte=function(){
   alert(this.name);
 };
    
 用法: var s3 = new Proto();

6.組合使用構造函數和原型模式prototype

example:
 function Person(name,age, obj) {
  this.name = name;
  this.age = age;
  this.obj = obj;
 }

Person.prototype = {
 constructor: Person,
 Introduction: function() {
 alert(this.name);
 }
}
用法:var Limei = new Person('Limei','20');

圖片描述

相關文章
相關標籤/搜索