首頁 電腦教學 電腦知識 JavaScript如何定義類似hide的方法,可透過點擊調用

JavaScript如何定義類似hide的方法,可透過點擊調用

Jan 13, 2024 pm 12:12 PM

javascript怎麼定義那種點出來的方法類似hide呼叫的時

原形方法吧。 。 。 。 prototype

例如給數組Array定義一個函數

Array.prototype.in_array = function ($string) { for (var i = 0; i

{

for (i = 0; i

return true;

}

}

return false;

}

呼叫時候就可以

var a = new Array('a');

a.in_array('a');

查看是否存在

在例如字串

String.prototype.trim = function()

{

return this.replace(/^\s*|\s*$/g, '');

}

呼叫時候就可以

var a = ' abcdefg ';

a.trime();

這樣就去掉兩邊的空格了

自訂函數也是一樣,首先建立一個函數,並使用prototype在其中新增方法。

JavaScript定義物件的方法有哪些

Javascript物件定義的幾種方式

一. 工廠方式:先建立對象,然後再為對像新增方法和屬性。封閉之後,避免使用new操作符建立物件。儘管這種方法有一些弊端,例如在工廠函數內部定義方法時,每次呼叫時都會建立新的函數。

function factory(name, person, address, time){

var tmp=new Object;

tmp.name=name;

tmp.person=person;

tmp.address=address;

tmp.workTime=function(){

alert("我們開始工作的時間是" time);

}

return tmp;

}

var factory1 = factory("drugs", 100, "Huashan Rd", 10);

var factory2 = factory("TCMdrugs", 100, "hongqiao Rd", 11);

factory1.workTime();

factory2.workTime();//在這裡,factory1和factory2有不同的方法

雖然對這種問題可以用下面的方式改進,但是缺乏很好的封裝性

function factory(name, person, address, time){

var tmp=new Object;

tmp.name=name;

tmp.person=person;

tmp.address=address;

tmp.workTime=workTime();

return tmp;

}

function workTime(){

alert("我們開始工作時間是" this.time);

}

二、建構函數方式是指在建構函式內部使用this關鍵字來建立對象,並且在使用時需要透過new操作符來實例化。然而,這種方式存在和工廠方式相同的問題,即每次調用構造函數都會創建一個新的函數對象,導致函數的重複創建。

function construct(name, person, address, time) { // 在這裡寫你的程式碼邏輯 }

this.name=name;

this.person=person;

this.address=address;

this.workTime=function(){

alert("我們開始工作時間是" this.time);

};

}

三.原型方式:利用prototype屬性來實現屬性和方法,可以透過instanceof 檢查物件類型,解決了重複建立函數的問題。不過要注意的是,不能透過傳遞參數來初始化屬性。

function Car(){

}

Car.prototype.color = "red";

Car.prototype.doors = 4;

Car.prototype.mpg = 23;

Car.prototype.showColor = function() {

alert(this.color);

};

var car1 = new Car();

var car2 = new Car();

但是如果遇到下面的情況,又出問題了

Car.prototype.drivers = ["mike", "sue"];

car1.drivers.push("matt");

alert(car1.drivers); //輸出「mike,sue,matt」

alert(car2.drivers); // 輸出 "mike, sue, matt"

drivers是指向Array物件的指針,Car的兩個實例都引用了同一個數組。

四.混合的建構子/原型方式:針對原型方式的解決方案

function Car(sColor, iDoors, iMpg) { this.color = sColor; this.doors = iDoors; this.mpg = iMpg; }

this.color = sColor;

this.doors = iDoors;

this.mpg = iMpg;

this.drivers = ["mike", "sue"];

#}

Car.prototype.showColor = function () { // 你的程式碼 }

alert(this.color);

};

var car1 = new Car("red", 4, 23);

var car2 = new Car("blue", 3, 25);

car1.drivers.push("matt");

alert(car1.drivers);

alert(car2.drivers);

五. 動態原型方式:這是一種非常推薦的方式,它避免了前面幾種方式中出現的問題,並且提供了更友善的程式設計風格。

function Car(sColor, iDoors, iMpg) { this.color = sColor; this.doors = iDoors; this.mpg = iMpg; }

this.color = sColor;

this.doors = iDoors;

this.mpg = iMpg;

this.drivers = ["mike", "sue"];

如果(typeof Car.initialized == "undefined"){

Car.prototype.showColor = function () { // 你的程式碼 }

alert(this.color);

};

Car.initialized = true;

}

}

var car1 = new Car("red", 4, 23);

var car2 = new Car("blue", 3, 25);

car1.drivers.push("matt");

alert(car1.drivers);

alert(car2.drivers);

六.混合工廠方式:和工廠方式有些相似,但是使用new關鍵字進行實例化。雖然與工廠方式有相同的弊端,但不建議使用。

以上是JavaScript如何定義類似hide的方法,可透過點擊調用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

發現如何在Windows設置中修復驅動健康警告 發現如何在Windows設置中修復驅動健康警告 Mar 19, 2025 am 11:10 AM

Windows設置中的驅動器健康警告是什麼意思?收到磁盤警告時該怎麼辦?閱讀本php.cn教程以獲取逐步說明以應對這種情況。

如何編輯註冊表? (警告:謹慎使用!) 如何編輯註冊表? (警告:謹慎使用!) Mar 21, 2025 pm 07:46 PM

文章討論了編輯Windows註冊表,預防措施,備份方法以及不正確的編輯中的潛在問題。主要問題:系統不穩定和數據丟失的風險不當變化。

如何管理Windows的服務? 如何管理Windows的服務? Mar 21, 2025 pm 07:52 PM

文章討論了管理系統健康的Windows服務,包括啟動,停止,重新啟動服務以及穩定性的最佳實踐。

Windows元數據和Internet服務問題:如何解決? Windows元數據和Internet服務問題:如何解決? Apr 02, 2025 pm 03:57 PM

您可能會看到“無法建立與Windows Metadata和Internet Services(WMI)的連接”。事件查看器的錯誤。 PHP.CN的這篇文章介紹瞭如何刪除Windows元數據和Internet服務問題。

如何使用組策略編輯器(gpedit.msc)? 如何使用組策略編輯器(gpedit.msc)? Mar 21, 2025 pm 07:48 PM

本文介紹瞭如何在Windows中使用組策略編輯器(GPEDIT.MSC)來管理系統設置,突出顯示常見的配置和故障排除方法。它指出gpedit.msc在Windows Home Edition中不可用,建議

如何修復蒸汽雲錯誤?嘗試這些方法 如何修復蒸汽雲錯誤?嘗試這些方法 Apr 04, 2025 am 01:51 AM

蒸汽雲錯誤可能是由於許多原因引起的。要順利玩遊戲,您需要採取一些措施來刪除此錯誤,然後才能啟動遊戲。 PHP.CN軟件在這篇文章中介紹了一些最佳方法以及更多有用的信息。

如何更改文件類型的默認應用程序? 如何更改文件類型的默認應用程序? Mar 21, 2025 pm 07:48 PM

文章討論了更改Windows上文件類型的默認應用程序,包括恢復和批量更改。主要問題:沒有內置散裝更改選項。

如何解決KB5035942更新問題 - 崩潰系統 如何解決KB5035942更新問題 - 崩潰系統 Apr 02, 2025 pm 04:16 PM

KB5035942更新問題 - 用戶通常發生崩潰系統。受到的人們希望找到擺脫困境的出路,例如崩潰系統,安裝或聲音問題。針對這些情況,這篇文章由Php.cn Wil發表

See all articles