老生常談Javascript中的原型和this指針
1、Javascript中的原型:
原型prototype是Javascript中特有的一個(gè)概念。通過原型,Javascript可以實(shí)現(xiàn)繼承機(jī)制。
Javascript本身是基于原型的,每一個(gè)對(duì)象都有一個(gè)prototype屬性。而Object對(duì)象的prototype屬性為null。
下面來看一個(gè)使用原型實(shí)現(xiàn)繼承的例子:
1.1使用原型實(shí)現(xiàn)繼承:
function Person(name){
this.name = name;
this.getName = function(){
return this.name;
}
}
function Artist(type){
this.type = type;
this.getType = function(){
return this.type;
}
}
Artist.prototype = new Person("arthinking");
var artist = new Artist("Guitar");
alert(artist.getType()); //本身就有type屬性
alert(artist.getName()); //從Person原型鏈上繼承到的屬性和方法
2、this指針:
Javascript中的this指針與傳統(tǒng)的面向?qū)ο笾械挠行┎煌鹘y(tǒng)的面向?qū)ο笾衪his指針在類中聲明的,表示對(duì)象本身。
Javascript中this表示當(dāng)前上下文,即調(diào)用者的引用。Javascript中this代表的對(duì)象不是根據(jù)函數(shù)的聲明而確定的,而是根據(jù)的調(diào)用而確定的。下面展示了一個(gè)函數(shù)中的this使用call指定具體代表的對(duì)象:
var test1 = {
name : "test1"
}
var test2 = {
name : "test2"
}
function getName(){
return this.name; //this根據(jù)傳調(diào)用該函數(shù)的上下文來確定的,定義該函數(shù)時(shí),this指針并不確定
}
alert(getName.call(test1));
這里的call是Function的一個(gè)函數(shù)。
以上就是小編為大家?guī)淼睦仙U凧avascript中的原型和this指針全部?jī)?nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
JavaScript Uploadify文件上傳實(shí)例
這篇文章主要為大家詳細(xì)介紹了Uploadify文件上傳小實(shí)例,一個(gè)簡(jiǎn)單的jsp上傳小功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
微信小程序開發(fā)之視頻播放器 Video 彈幕 彈幕顏色自定義實(shí)例
本篇文章主要介紹了微信小程序開發(fā)之視頻播放器 Video 彈幕 彈幕顏色自定義實(shí)例,具有一定的參考價(jià)值,有興趣的同學(xué)可以了解一下。2016-12-12
微信小程序動(dòng)態(tài)添加分享數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了微信小程序動(dòng)態(tài)添加分享數(shù)據(jù)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
echarts實(shí)現(xiàn)雷達(dá)圖的詳細(xì)步驟
這篇文章主要給大家介紹了關(guān)于echarts實(shí)現(xiàn)雷達(dá)圖的詳細(xì)步驟,雷達(dá)圖(Radar?Chart)是一種信息豐富的可視化工具,其中多個(gè)變量(三個(gè)或更多)在二維平面上進(jìn)行比較,文中給出了完整的代碼示例,需要的朋友可以參考下2024-01-01
javascript中的有名函數(shù)和無名函數(shù)
javascript中的有名函數(shù)和無名函數(shù)...2007-10-10
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等屬性
IE6、IE7中setAttribute不支持class/for/rowspan/colspan等屬性的說明,需要的朋友可以參考下。2011-08-08
JS+canvas實(shí)現(xiàn)的五子棋游戲【人機(jī)大戰(zhàn)版】
這篇文章主要介紹了JS+canvas實(shí)現(xiàn)的五子棋游戲,是采用比較強(qiáng)的AI實(shí)現(xiàn)的人機(jī)大戰(zhàn)版游戲,涉及javascript結(jié)合HTML5實(shí)現(xiàn)圖形繪制與人工智能相關(guān)操作技巧,需要的朋友可以參考下2017-07-07
JS實(shí)現(xiàn)模態(tài)框拖拽動(dòng)態(tài)效果
這篇文章主要為大家詳細(xì)介紹了JS實(shí)現(xiàn)模態(tài)框拖拽動(dòng)態(tài)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07

