老生常談Javascript中的原型和this指針
1、Javascript中的原型:
原型prototype是Javascript中特有的一個概念。通過原型,Javascript可以實(shí)現(xiàn)繼承機(jī)制。
Javascript本身是基于原型的,每一個對象都有一個prototype屬性。而Object對象的prototype屬性為null。
下面來看一個使用原型實(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指針在類中聲明的,表示對象本身。
Javascript中this表示當(dāng)前上下文,即調(diào)用者的引用。Javascript中this代表的對象不是根據(jù)函數(shù)的聲明而確定的,而是根據(jù)的調(diào)用而確定的。下面展示了一個函數(shù)中的this使用call指定具體代表的對象:
var test1 = { name : "test1" } var test2 = { name : "test2" } function getName(){ return this.name; //this根據(jù)傳調(diào)用該函數(shù)的上下文來確定的,定義該函數(shù)時,this指針并不確定 } alert(getName.call(test1));
這里的call是Function的一個函數(shù)。
以上就是小編為大家?guī)淼睦仙U凧avascript中的原型和this指針全部內(nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
webpack圖片轉(zhuǎn)為base64的實(shí)現(xiàn)示例
在開發(fā)過程中,圖片轉(zhuǎn)成base64是常有的事,本文主要介紹了webpack圖片轉(zhuǎn)為base64的實(shí)現(xiàn)示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-12-12JS實(shí)現(xiàn)預(yù)加載視頻音頻/視頻獲取截圖(返回canvas截圖)
這篇文章主要介紹了JS實(shí)現(xiàn)預(yù)加載視頻音頻/視頻獲取截圖(返回canvas截圖)的相關(guān)資料,需要的朋友可以參考下2017-10-10uni-app的h5頁面中onHide/onUnload方法不觸發(fā)的問題解決方法
uni-app的頁面的生命周期包括onInit、onLoad、onShow、onReady、onHide和onUnload等幾個階段,這篇文章主要給大家介紹了關(guān)于uni-app的h5頁面中onHide/onUnload方法不觸發(fā)的問題解決方法,需要的朋友可以參考下2023-12-12js冒泡法和數(shù)組轉(zhuǎn)換成字符串示例代碼
將數(shù)組轉(zhuǎn)換成字符串的方法有很多,想必大家也不會陌生,下面為大家講解下js冒泡法的使用,感興趣的朋友可以參考下2013-08-08