老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

使用JavaScript怎么在面向對象中創建對象

這篇文章主要為大家詳細介紹了使用JavaScript怎么在面向對象中創建對象,文中示例代碼介紹的非常詳細,具有一定的參考價值,發現的小伙伴們可以參考一下:

創新互聯公司網站設計,為客戶量身定制各類網站建設業務,包括企業型、電子商務型、成都響應式網站建設公司、行業門戶型等各類網站,實戰經驗豐富,成功案例眾多。以客戶利益為出發點,創新互聯公司網站制作為客戶規劃、按需策劃符合企業需求、帶有營銷價值的網絡建站方案認真對待每一個客戶,我們不用口頭的語言來吹擂我們的優秀,近千家的成功案例見證著我們的成長。

JavaScript可以做什么

1.可以使網頁具有交互性,例如響應用戶點擊,給用戶提供更好的體驗。 2.可以處理表單,檢驗用戶的輸入,并提供及時反饋節省用戶時間。 3.可以根據用戶的操作,動態的創建頁面。 4使用JavaScript可以通過設置cookie存儲在瀏覽器上的一些臨時信息。

創建對象的幾種常用方式

1.使用Object或對象字面量創建對象

2.工廠模式創建對象

3.構造函數模式創建對象

4.原型模式創建對象

1.使用Object或對象字面量創建對象

使用object

var student = new Object();
student.name = "easy";
student.age = "20";

使用字面量

var sutdent = {
 name : "easy",
 age : 20
};

2.工廠模式創建對象

function createStudent(name, age) {
 var obj = new Object();
 obj.name = name;
 obj.age = age;
 return obj;
}
var student1 = createStudent("easy1", 20);
var student2 = createStudent("easy2", 20);
...
var studentn = createStudent("easyn", 20);

3.構造函數模式創建對象

在上面創建Object這樣的原生對象的時候,我們就使用過其構造函數

var obj = new Object();

在創建原生數組Array類型對象時也使用過其構造函數:

var arr = new Array(10); //構造一個初始長度為10的數組對象

我們首先了解一下構造函數和普通函數有什么區別。

1、實際上并不存在創建構造函數的特殊語法,其與普通函數唯一的區別在于調用方法。對于任意函數,使用new操作符調用,那么它就是構造函數;不使用new操作符調用,那么它就是普通函數。

2、按照慣例,我們約定構造函數名以大寫字母開頭,普通函數以小寫字母開頭,這樣有利于顯性區分二者。例如上面的new Array(),new Object()。

3、使用new操作符調用構造函數時,會經歷(1)創建一個新對象;(2)將構造函數作用域賦給新對象(使this指向該新對象);(3)執行構造函數代碼;(4)返回新對象;4個階段。

ok,了解了構造函數和普通函數的區別之后,我們使用構造函數將工廠模式的函數重寫,并添加一個方法屬性:

function Student(name, age) {
 this.name = name;
 this.age = age;
 this.alertName = function(){
  alert(this.name)
 };
}
function Fruit(name, color) {
 this.name = name;
 this.color = color;
 this.alertName = function(){
  alert(this.name)
 };
}

這樣我們再分別創建Student和Fruit的對象

var v1 = new Student("easy", 20);
var v2 = new Fruit("apple", "green");

這時我們再來用instanceof操作符來檢測以上對象類型就可以區分出Student以及Fruit了:

alert(v1 instanceof Student); //true
alert(v2 instanceof Student); //false
alert(v1 instanceof Fruit); //false
alert(v2 instanceof Fruit); //true
alert(v1 instanceof Object); //true 任何對象均繼承自Object
alert(v2 instanceof Object); //true 任何對象均繼承自Object

可以將上面的函數簡化:Student和Fruit對象中共有同樣的方法移到構造函數外部

function Student(name, age) {
 this.name = name;
 this.age = age;
}
function Fruit(name, color) {
 this.name = name;
 this.color = color;
};
function alertName() {
 alert(this.name);
}

我們通過將alertName()函數定義為全局函數,這樣對象中的alertName屬性則被設置為指向該全局函數的指針。由此stu1和stu2共享了該全局函數,解決了內存浪費的問題

但是,通過全局函數的方式解決對象內部共享的問題,終究不像一個好的解決方法。如果這樣定義的全局函數多了,我們想要將自定義對象封裝的初衷便幾乎無法實現了。

更好的方案是通過原型對象模式來解決。

4.原型的模式創建對象

原型鏈甚至原型繼承,是整個JS中最難的一部分也是最不好理解的一部分,在這里由于我們課程定位的原因,如果對js有興趣的同學,可以去查閱一下相關JS原型的一些知識點。

function Student() {
  this.name = 'easy';
  this.age = 20;
}
Student.prototype.alertName = function(){
  alert(this.name);
};
var stu1 = new Student();
var stu2 = new Student();
stu1.alertName(); //easy
stu2.alertName(); //easy
alert(stu1.alertName == stu2.alertName); //true 二者共享同一函數

以上就是創新互聯小編為大家收集整理的使用JavaScript怎么在面向對象中創建對象,如何覺得創新互聯網站的內容還不錯,歡迎將創新互聯網站推薦給身邊好友。


本文名稱:使用JavaScript怎么在面向對象中創建對象
瀏覽地址:http://www.xueling.net.cn/article/jjcppj.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 91大神视频网站 | 呦交小U女国产精品视频 | 好男人在线影院官网WWW | 福利姬国产在线观看免费 | 日本十八禁免费看污网站 | 亚洲高清在线看 | 线观看免费完整aaa 国产精品国产a级 | 免费人成网站在线观看欧美 | 日本少妇色xxxxx中国免费看 | 国产91在线播放九色 | 国产精品入口麻豆九色 | 免费欧美一级片 | 日韩中文欧美 | p色视频免费在线观看 | 成人乱码| 少妇激情一区二区三区视频 | avhd101高清谜片 | av网站不卡 | 动漫一区二区三区 | 国产一级特a一级码 | 国产精品无码aⅴ嫩草 | 国产精品人妻无码久久久郑州天气网 | 欧美一进一出视频 | 狠狠热精品免费视频 | 国产精品草草在线观看 | 欧美不卡一 | 天天躁日日躁狠狠躁性色AV | 少妇与黑人一二三区无码 | 中文字幕无码日韩专区免费 | 中文字幕在线免费播放 | 丁香七月激情婷婷 | 国产视频一区二区三区在线观看 | 欧美交换配乱吟粗大视频 | 一级黄色免费视频 | 毛片久久久久 | 老熟女乱之仑视频 | A级一男一女牲交 | 爆操美女网站 | 欧美日韩国产在线一区 | 黄色片免费大全 | 国产无限资源在线观看 |