JavaScript如何定義類似hide的方法,可透過點擊調用
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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

熱門話題

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

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

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

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

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

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