一、什么是構造函數
在一些面向對象的語言,如Java、C++、PHP中,構造函數是很常見的。在Javascript中構造函數首先是一個普通的函數,它可以使用new 操作符來調用,并生成一個特殊類型的對象。
// "Benjamin" is a constructor
var benjamin = new Benjamin("zuojj", "male");
在上面這個實例中benjamin是一個Benjamin對象,那么它是如何來實例化的呢?
function Benjamin(username, sex) {
this.username = username;
this.sex = sex;
}
var benjamin = new Benjamin("zuojj", "male");
//Outputs: Benjamin{sex: "male",username: "zuojj"}
console.log(benjamin);
正如我們所看到的,“Benjamin”構造函數僅僅是接收傳遞過來的參數,并把它們賦值給this對象。這是因為當構造函數被new操作符調用時,構造函數的this對象賦值為new操作返回的對象。
這意味著上面的代碼等同于:
benjamin = {
"username": "zuojj",
"sex": "male"
}
二、為什么使用構造函數
為什么使用構造函數,有以下幾個方面的原因:
1.使用構造函數,意味著所有的這些對象,都可以使用相同的基本結構創建
2.使用構造函數,意味著“benjamin”對象被明確的標記為“Benjamin”函數的實例
function Benjamin(username, sex) {
this.username = username;
this.sex = sex;
}
var benjamin = new Benjamin("zuojj", "male");
var ben = {
"username": "zuojj",
"sex": "male"
}
//Outputs: true
console.log(benjamin instanceof Benjamin);
//Outputs: false
console.log(ben instanceof Benjamin);
3.使用構造函數,意味著我們可以在原型上定義公共方法,供多個實例共享
function Benjamin(username, sex) {
this.username = username;
this.sex = sex;
}
Benjamin.prototype.getName = function() {
return this.username;
}
var benjamin = new Benjamin("zuojj", "male");
var ben = new Benjamin("lemon", "female");
//Outputs: zuojj
console.log(benjamin.getName());
//Outputs: lemon
console.log(ben.getName());
三、注意事項
1.new 關鍵字
在實例化構造函數的時候一定不要忘了使用new關鍵字,是否使用new關鍵字,對this對象的影響很大,不用new關鍵字的情況下,this對象會指向全局對象(window in browser and global in node)。因此定義構造函數時,建議函數名稱首字母大寫。
2.如果被調用的函數沒有顯式的 return 表達式,則隱式的會返回 this 對象 亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品手机播放|
91网站在线免费观看|
日韩在线免费av|
91精品久久久久久久|
日韩www在线|
久久偷看各类女兵18女厕嘘嘘|
久久久久一本一区二区青青蜜月|
www.久久色.com|
亚洲a级在线观看|
91精品国产自产在线|
xvideos亚洲人网站|
亚洲高清福利视频|
日韩电影大片中文字幕|
亚洲国产成人在线视频|
中文字幕欧美日韩|
欧美专区在线观看|
国产精品www色诱视频|
日韩福利在线播放|
欧美有码在线观看视频|
国产精品电影在线观看|
精品亚洲男同gayvideo网站|
日韩精品在线免费|
亚洲国产免费av|
欧美性猛交xxxx免费看久久久|
国产一区二区三区中文|
日韩午夜在线视频|
久久久av亚洲男天堂|
亚洲免费中文字幕|
国产欧美一区二区三区在线看|
欧美在线一级va免费观看|
91日本视频在线|
欧洲午夜精品久久久|
亚洲国产天堂网精品网站|
日韩福利伦理影院免费|
狠狠做深爱婷婷久久综合一区|
精品久久久久久久久国产字幕|
国产精品1234|
欧美高清视频在线观看|
日本一本a高清免费不卡|
久久人人97超碰精品888|
久久精品人人做人人爽|
在线精品视频视频中文字幕|
www.欧美免费|
久久电影一区二区|
日韩欧美成人网|
亚洲天堂开心观看|
亚洲福利视频专区|
色爱av美腿丝袜综合粉嫩av|
国产精品视频一区二区高潮|
午夜精品久久久久久久白皮肤|
91日本在线视频|
伊人久久精品视频|
中文字幕在线成人|
日韩电影中文字幕一区|
国产精品小说在线|
欧美一区二区三区免费观看|
国产精品永久免费观看|
日韩三级影视基地|
97人人模人人爽人人喊中文字|
国产免费一区二区三区香蕉精|
欧美黑人性生活视频|
国产一区香蕉久久|
色多多国产成人永久免费网站|
精品视频在线播放|
精品久久久久久中文字幕|
久久久久免费精品国产|
欧美激情亚洲视频|
欧美激情2020午夜免费观看|
亚州欧美日韩中文视频|
亚洲第一在线视频|
夜夜嗨av一区二区三区免费区|
欧美一级成年大片在线观看|
国产精品夫妻激情|
日韩av黄色在线观看|
国语自产精品视频在线看抢先版图片|
97色在线观看免费视频|
久久不射电影网|
欧美日韩亚洲成人|
在线观看亚洲视频|
精品一区精品二区|
欧美国产精品人人做人人爱|
久久网福利资源网站|
久久国产精品首页|
国产精品欧美日韩一区二区|
亚洲精品成人网|
久久精品成人动漫|
精品久久久久久久久久国产|
国产丝袜一区二区三区|
国产免费观看久久黄|
亚洲三级 欧美三级|
亚洲偷欧美偷国内偷|
性欧美xxxx|
国产精品va在线|
爱福利视频一区|
日本精品久久中文字幕佐佐木|
九九视频这里只有精品|
久久久久免费精品国产|
正在播放欧美视频|
亚洲国产天堂久久综合|
国产精品美女久久久免费|
日本高清+成人网在线观看|
日韩精品视频免费专区在线播放|
日韩高清电影免费观看完整版|
欧美在线观看一区二区三区|
97视频在线观看免费|
秋霞午夜一区二区|
欧美激情在线观看视频|
国产免费一区二区三区香蕉精|
国产一区深夜福利|
亚洲国产精品成人一区二区|
国产精品视频xxx|
日韩美女在线观看|
国产精品自产拍高潮在线观看|
久久久久久久久久久免费精品|
欧美精品日韩www.p站|
亚洲天堂男人天堂|
亚洲男人天堂2024|
亚洲免费高清视频|
精品女厕一区二区三区|
亚洲人成五月天|
成人免费视频网|
国产视频观看一区|
国产精品美女av|
国产精品美腿一区在线看|
97久久超碰福利国产精品…|
国产成人精品电影久久久|
日韩精品在线观看一区|
91po在线观看91精品国产性色|
亚洲欧洲第一视频|
欧美成人精品一区|
麻豆成人在线看|
亚洲精品98久久久久久中文字幕|
亚洲欧美激情四射在线日|
久久精品视频播放|
国色天香2019中文字幕在线观看|
久久精品国产久精国产一老狼|
中文字幕欧美精品在线|
国产精品电影久久久久电影网|
www.日韩av.com|
日韩av在线免费观看一区|
欧美亚洲国产另类|
1769国内精品视频在线播放|
久久精品视频亚洲|
久久男人的天堂|
国产成人精品在线播放|
国产丝袜一区二区三区免费视频|
色婷婷综合久久久久中文字幕1|
国产精品中文在线|
亚洲国产精品久久|
中文字幕一区日韩电影|
国产精品99久久久久久久久|
精品国产乱码久久久久久虫虫漫画|
91精品国产综合久久久久久久久|
久久久久国产精品免费网站|
91视频国产一区|
91啪国产在线|
欧美视频一二三|
疯狂做受xxxx高潮欧美日本|
亚洲国产精品va在线观看黑人|
亚洲欧美日韩精品久久奇米色影视|
日韩欧美在线中文字幕|
高清欧美性猛交|
欧美日韩色婷婷|
国产在线拍偷自揄拍精品|