function createperson(name, age, hobby) ;
return obj;
}// 測試
var p1=createperson('張三',22,'踢足球');
var p2=createperson('李四',18,'打遊戲');
p1.say();//張三喜歡踢足球
p2.say();//李四喜歡打遊戲
console.log(p1 instanceof object);//true
console.log(p1 instanceof createperson);//false
工廠模式雖然解決了建立多個相似物件的問題,但卻沒有解決物件識別的問題,用instanceof只能辨別例項是乙個物件,而無法辨別這個例項是誰的物件。而且每生成乙個例項就會增加一些重複的內容,會造成資源浪費。
function person(name,age,hobby)
} var p1=new person('張三',22,'踢足球');
var p2=new person('李四',18,'打遊戲');
p1.say();//張三喜歡踢足球
p2.say();//李四喜歡打遊戲
console.log(p1 instanceof object);//true 即p1是object的例項
console.log(p1 instanceof person);//true 即p2是person的例項
建構函式 ,是一種特殊的函式。主要用來在建立物件時初始化物件, 即為物件成員變數賦初始值,總與new運算子一起使用在建立物件的語句中。使用建構函式時要注意以下幾點:
1.建構函式首字母要大寫(推薦做法)。
2.建構函式要和new一起使用才有意義。
3.建構函式的作用是用於例項化乙個物件,即給物件新增屬性和方法。
使用new操作符給 person建立乙個新例項會經歷以下四個步驟:
(1)建立乙個新物件
(2)將建構函式的作用域賦給新物件(因此this就指向了這個新物件)
(3)執行建構函式中的**(為這個新物件新增屬性)
(4)返回新物件
使用建構函式的主要問題,就是每個方法都要在每個例項上重新建立一遍
JS基礎 建立物件的常見的兩種方法
一 工廠方法 function createobject name,age return obj var per createobject 小明 20 使用工廠方法建立的物件,使用的建構函式都是object 所以建立的物件都是object這個型別,就導致我們無法區分出多種不同型別的物件 在函式體內使...
js判斷物件型別的兩種方法
在js 中 有一種判斷資料基本型別的方法 typeof 只能判斷5中基本型別 即 number string undefined boolean object 五種。用法為 typeof 1typeof str console.log typeof 1 列印出 number typeof a str...
建立執行緒的兩種方法
有兩種方式 從tread中派生出新的子類 實現runnable介面 還有一種習慣用法 一 從tread中派生出新的子類 建立片段 給執行緒起名 a,並建立 new 型別 執行緒名字 start 完整的建立乙個執行緒,並呼叫 為了給執行緒起名字,建立了域name,並類裡邊建立了構造器 public c...