三、字面量方式建立物件
總結呼叫系統的建構函式建立物件
var 變數名=
newobject()
; object 是系統的建構函式
自定義建構函式建立物件(結合第一種和需求通過工廠模式建立物件)
字面量的方式建立物件
//例項化物件
var obj =
newobject()
;//物件有特徵(屬性)和行為(方法)
//新增屬性 物件.名字=值;
obj.name =
"小楊"
; obj.age =25;
obj.*** =
"男"//新增方法 物件.名字=函式;
obj.
eat=
function()
; obj.
play
=function()
obj.
cook
=function()
console.
log(obj.name)
; console.
log(obj.age)
; console.
log(obj.***)
; obj.
eat();
obj.
play()
; obj.
cook()
;
// 自定義建構函式建立物件,需要自定義乙個建構函式,然後才能建立物件
//函式和建構函式的區別是:建構函式的首字母是大寫的,函式的首字母是小寫的
function
person
(name,age);}
//通過自定義的建構函式來建立物件
var arr=
newperson
("社會王",18
);console.
log(arr.name)
; console.
log(arr.age)
; arr.
sayhi()
;
自定義建構函式建立物件的時候,發生了四件事
1. 在記憶體中開闢空間(申請一塊記憶體),來儲存建立的新的物件
2. 把this設定為當前的物件
3. 設定物件的屬性和方法值
4. 把this這個物件返回
如何獲取該變數(物件)是不是屬於什麼型別
語法:變數 instanceof 型別的名字----->輸出是布林型別,true表示是這個型別,false表示不是這個型別
在當前的物件的方法中,可以用this關鍵字代表當前的物件
//人的物件
var person =
newobject()
; person.name =
"小黑"
; person.age =20;
person.
sayhi
=function()
; person.
sayhi()
console.
log(person instanceof
object);
//instanceof判斷是不是這個型別,輸出值為布林型別
// 把建立物件的**封裝到乙個函式裡面,可以一次性建立多個物件
// 工廠模式建立物件
function
createobject
(name, age)
return obj;
}var students=
createobject
("社會王",22
);students.
eat(
);
//字面量方式建立物件
var obj=
;//空物件
//新增屬性
obj.name=
"小白"
; obj.age=8;
obj.
sayhi
=function()
;
obj.
sayhi()
; console.
log(obj.age)
;var a =
"1";
var tobj =
}
tobj.
tfunc()
;// 字面量的方式建立物件的缺陷:一次性的物件
var obj2=
; obj2.name=
"柯南"
; console.
log(obj2.name)
;//點語法: 物件.名字=值; 物件.名字=函式; 沒有什麼點什麼就有了
都是函式,都可以建立物件,都可以傳入引數
工廠模式:函式名是小寫
有new,
有返回值
new之後的物件是當前的物件
直接呼叫函式就可以建立物件
自定義建構函式:函式名是大寫(首字母)
沒有new
沒有返回值
this是當前的物件
通過new的方式來建立物件
js是一門什麼樣的語言 是一門解釋性語言 是一門指令碼語言 是一門弱型別的語言,宣告變數都用var 是一門基於物件的語言是一門動態型別的語言:
**(變數)只有執行到這個位置的時候,才知道這個變數中到底儲存了什麼,如果是物件,就有物件的屬性和方法,如果是變數,就是變數的作用
物件沒有什麼,只要點了,通過點語法,那麼就可以為物件新增屬性或者方法
C 建立物件的三種方式
c 中有三種建立物件的方法 include using namespace std class a a int main 第一種和第二種沒什麼區別,乙個隱式呼叫,乙個顯式呼叫,兩者都是在程序虛擬位址空間中的棧中分配記憶體,而第三種使用了new,在堆中分配了記憶體,而棧中記憶體的分配和釋放是由系統管理...
建立執行緒物件的三種方式
建立執行緒物件的三種方式 1 自定義類繼承thread類,重寫run方法。public class rabbit extends thread 2 自定義類實現runnable介面,重寫run方法。使用靜態 建立thread 物件,啟動執行緒。public class programmer impl...
C 建立物件的三種方式
出處 c 中有三種建立物件的方法 include using namespace std class a a int main 第一種和第二種沒什麼區別,乙個隱式呼叫,乙個顯式呼叫,兩者都是在程序虛擬位址空間中的棧中分配記憶體,而第三種使用了new,在堆中分配了記憶體,而棧中記憶體的分配和釋放是由系...