老生常談Javascript中的原型和this指針
1、Javascript中的原型:
原型prototype是Javascript中特有的一個(gè)概念。通過原型,Javascript可以實(shí)現(xiàn)繼承機(jī)制。
Javascript本身是基于原型的,每一個(gè)對(duì)象都有一個(gè)prototype屬性。而Object對(duì)象的prototype屬性為null。
下面來(lái)看一個(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ū)ο笾械挠行┎煌?。傳統(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ù)的上下文來(lái)確定的,定義該函數(shù)時(shí),this指針并不確定 } alert(getName.call(test1));
這里的call是Function的一個(gè)函數(shù)。
以上就是小編為大家?guī)?lái)的老生常談Javascript中的原型和this指針全部?jī)?nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
javascript 函數(shù)參數(shù)限制說(shuō)明
我依稀記得哪本書上有說(shuō)過,實(shí)參數(shù)限制是32個(gè)? 現(xiàn)在想想估計(jì)是我記錯(cuò)了..他也許說(shuō)的是32位.2010-11-11webpack圖片轉(zhuǎn)為base64的實(shí)現(xiàn)示例
在開發(fā)過程中,圖片轉(zhuǎn)成base64是常有的事,本文主要介紹了webpack圖片轉(zhuǎn)為base64的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12JS實(shí)現(xiàn)預(yù)加載視頻音頻/視頻獲取截圖(返回canvas截圖)
這篇文章主要介紹了JS實(shí)現(xiàn)預(yù)加載視頻音頻/視頻獲取截圖(返回canvas截圖)的相關(guān)資料,需要的朋友可以參考下2017-10-10uni-app的h5頁(yè)面中onHide/onUnload方法不觸發(fā)的問題解決方法
uni-app的頁(yè)面的生命周期包括onInit、onLoad、onShow、onReady、onHide和onUnload等幾個(gè)階段,這篇文章主要給大家介紹了關(guān)于uni-app的h5頁(yè)面中onHide/onUnload方法不觸發(fā)的問題解決方法,需要的朋友可以參考下2023-12-12js冒泡法和數(shù)組轉(zhuǎn)換成字符串示例代碼
將數(shù)組轉(zhuǎn)換成字符串的方法有很多,想必大家也不會(huì)陌生,下面為大家講解下js冒泡法的使用,感興趣的朋友可以參考下2013-08-08