摘要:我們相約在今天,在今天討論構(gòu)造函數(shù),感謝你如約而至昨天我們昨天前幾天討論過(guò)構(gòu)造函數(shù),得出了結(jié)論是原型對(duì)象上的一個(gè)屬性,默認(rèn)指向這個(gè)原型的構(gòu)造函數(shù)這個(gè)結(jié)論貌似對(duì)我們平時(shí)的工作中似乎并沒(méi)有什么用處,那構(gòu)造函數(shù),就真的沒(méi)什么用處嗎今天使用構(gòu)造函數(shù)
我們相約在今天,在今天討論javascript構(gòu)造函數(shù),感謝你如約而至
昨天我們昨天前幾天討論過(guò)構(gòu)造函數(shù)constructor,得出了結(jié)論
constructor是原型對(duì)象上的一個(gè)屬性,默認(rèn)指向這個(gè)原型的構(gòu)造函數(shù)
這個(gè)結(jié)論貌似對(duì)我們平時(shí)的工作中似乎并沒(méi)有什么用處,那構(gòu)造函數(shù),就真的沒(méi)什么用處嗎?
JS中的函數(shù)即可以是構(gòu)造函數(shù)又可以當(dāng)作普通函數(shù)來(lái)調(diào)用,當(dāng)使用new來(lái)創(chuàng)建對(duì)象時(shí),對(duì)應(yīng)的函數(shù)就是構(gòu)造函數(shù),通過(guò)對(duì)象來(lái)調(diào)用時(shí)就是普通函數(shù)。
在我們平時(shí)工作中,經(jīng)常會(huì)需要我們創(chuàng)建一個(gè)對(duì)象,而我們更多的是使用對(duì)像直接量,直接創(chuàng)建,舉個(gè)栗子,代碼如下
var person = { name:"postbird", address:"earth", sayHello:function(){console.log("Hello,I am " + this.name);} };
如果只是一個(gè)多帶帶的對(duì)象,對(duì)象的屬性和方法基本不會(huì)變了,這么玩完全可以,但是如果你的對(duì)象有很多實(shí)例,或者涉及繼承或者構(gòu)造函數(shù)傳參,留意代碼注釋
//創(chuàng)建了一個(gè)構(gòu)造函數(shù) function Person(name,address){ this.name = name; this.address = address; } //為構(gòu)造函數(shù)的原型對(duì)象添加一個(gè)方法sayHello Person.prototype.sayHello = function(){ console.log("Hi I am " + this.name); } //通過(guò)構(gòu)造函數(shù)Person實(shí)例化一個(gè)p1,并傳參 var p1 = new Person("postbird","earth"); //通過(guò)構(gòu)造函數(shù)Person實(shí)例化一個(gè)p2,并傳參 var p2 = new Person("ptbird","month"); console.log(p1);//{name: "postbird", address: "earth"} console.log(p2);//{name: "ptbird", address: "month"} // p1和p2 繼承了Person的sayHello方法 p1.sayHello()//Hi I am ptbird p2.sayHello()//Hi I am postbird
耐心品位上面
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/108638.html
摘要:我們已經(jīng)回答了的構(gòu)造函數(shù)和原型都是誰(shuí)的問(wèn)題,現(xiàn)在牽扯出來(lái)一個(gè),我們繼續(xù)檢查的構(gòu)造函數(shù)是全局對(duì)象上屬性叫的對(duì)象的原型是個(gè)匿名函數(shù),按照關(guān)于構(gòu)造函數(shù)的約定,它應(yīng)該是構(gòu)造函數(shù)的屬性我們給這個(gè)對(duì)象起個(gè)名字,叫。 我不確定JavaScript語(yǔ)言是否應(yīng)該被稱為Object-Oriented,因?yàn)镺bject Oriented是一組語(yǔ)言特性、編程模式、和設(shè)計(jì)與工程方法的籠統(tǒng)稱謂,沒(méi)有一個(gè)詳盡和大家...
摘要:構(gòu)造函數(shù)和實(shí)例都通過(guò)屬性指向了原形。代碼示例是構(gòu)造函數(shù)的實(shí)例的屬性與的屬性保存的值相等,即他們指向同一個(gè)對(duì)象原形。 講清楚之javascript原型 標(biāo)簽: javascript javascript 中原形是一個(gè)比較難于理解的概念。javascript 權(quán)威指南在原形這一章也花了大量的篇幅進(jìn)行介紹,也許你已經(jīng)讀過(guò)javascript 權(quán)威指南,或者已經(jīng)是讀第N篇了,然而這篇文章的目...
摘要:當(dāng)談到語(yǔ)言與其他編程語(yǔ)言相比時(shí),你可能會(huì)聽到一些令人困惑東西,其中之一是工廠函數(shù)和構(gòu)造函數(shù)。好的,讓我們用構(gòu)造函數(shù)做同樣的實(shí)驗(yàn)。當(dāng)我們使用工廠函數(shù)創(chuàng)建對(duì)象時(shí),它的指向,而當(dāng)從構(gòu)造函數(shù)創(chuàng)建對(duì)象時(shí),它指向它的構(gòu)造函數(shù)原型對(duì)象。 showImg(https://segmentfault.com/img/bVbr58T?w=1600&h=900); 當(dāng)談到JavaScript語(yǔ)言與其他編程語(yǔ)言...
摘要:這正是我們想要的太棒了毫不意外的,這種繼承的方式被稱為構(gòu)造函數(shù)繼承,在中是一種關(guān)鍵的實(shí)現(xiàn)的繼承方法,相信你已經(jīng)很好的掌握了。 你應(yīng)該知道,JavaScript是一門基于原型鏈的語(yǔ)言,而我們今天的主題 -- 繼承就和原型鏈這一概念息息相關(guān)。甚至可以說(shuō),所謂的原型鏈就是一條繼承鏈。有些困惑了嗎?接著看下去吧。 一、構(gòu)造函數(shù),原型屬性與實(shí)例對(duì)象 要搞清楚如何在JavaScript中實(shí)現(xiàn)繼承,...
摘要:但是,中并沒(méi)有類的概念,而是通過(guò)構(gòu)造函數(shù)替代了類的功能,為某一類的對(duì)象提供共同的屬性和方法。一只名叫的狗,首先繼承了構(gòu)造函數(shù)的原型對(duì)象,而的原型對(duì)象中的有繼承了函數(shù)的原型對(duì)象,函數(shù)對(duì)象中的有繼承了的原型對(duì)象。 《圣經(jīng)》里的第一章創(chuàng)世紀(jì)中其中有一段經(jīng)典記載上帝是如何創(chuàng)造人的。神說(shuō):我們要照著我們的形象,按照我們的樣式造人。不謀而合的是,JavaScript中似乎也遵循著上帝的旨意去創(chuàng)造程...
閱讀 2934·2021-10-21 09:38
閱讀 2866·2021-10-11 10:59
閱讀 3192·2021-09-27 13:36
閱讀 1739·2021-08-23 09:43
閱讀 884·2019-08-29 14:14
閱讀 3104·2019-08-29 12:13
閱讀 3256·2019-08-29 12:13
閱讀 362·2019-08-26 12:24