搜索
首页电脑教程电脑知识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中文网其他相关文章!

声明
本文转载于:Excel办公网。如有侵权,请联系admin@php.cn删除
如何在Win 10/11上修复Windows Store错误0x87AF0813? -  Minitool如何在Win 10/11上修复Windows Store错误0x87AF0813? - MinitoolApr 29, 2025 am 12:11 AM

您是否曾经在PC上遇到Windows Store错误0x87AF0813?如果有的话,您来了正确的位置。在这篇文章中,PHP.CN为此错误提供了可能的原因和有效解决方案。

什么是同步冲突? |如何删除冲突文件? -  Minitool什么是同步冲突? |如何删除冲突文件? - MinitoolApr 29, 2025 am 12:01 AM

当文件同步发生时,您会发现修改后的文件无法正确地同步到服务器,同时,将有一个黄色三角形,并在同步中心图标旁边有一个引人入胜。在PHP.CN网站上的这篇文章中,我们将向您展示如何

如何在PC/电话上使用Roblox快速登录?这是一个完整的指南! -  Minitool如何在PC/电话上使用Roblox快速登录?这是一个完整的指南! - MinitoolApr 28, 2025 am 12:50 AM

如果您想在不输入密码的情况下在新设备上登录Roblox帐户,Roblox快速登录可以帮助您完成。来自PHP.CN的帖子告诉您如何使用完整的步骤使用Roblox快速登录功能。

PS5 vs Xbox系列与PC:哪一个最适合Hogwarts Legacy -MinitoolPS5 vs Xbox系列与PC:哪一个最适合Hogwarts Legacy -MinitoolApr 28, 2025 am 12:49 AM

Hogwarts Legacy现已在PS5,Xbox系列X/S和PC上发布。哪个最适合霍格沃茨的遗产?如果您感到困惑,请放心。在这篇文章中,PHP.CN提供了有关Hogwarts Legacy PC vs PS5 vs Xbox系列X/S的教程,您可以看看。

下载Realtek USB GBE家庭控制器驱动程序Windows 10/11 -Minitool下载Realtek USB GBE家庭控制器驱动程序Windows 10/11 -MinitoolApr 28, 2025 am 12:48 AM

在这篇文章中,PHP.CN软件将向您显示有关Realtek USB GBE家庭控制器的一些信息,包括其定义,用法以及如何在Windows 10/11计算机上下载Realtek USB GBE家庭控制器驱动程序。

关键T700 SSD概述:它具有破纪录的性能-Minitool关键T700 SSD概述:它具有破纪录的性能-MinitoolApr 28, 2025 am 12:47 AM

至关重要的T700 PCIE GEN5 NVME SSD已发布一段时间。您可以关注这篇文章,以了解有关该SSD具有记录纪录性能的相关信息。在这篇文章中,我们还介绍了一些php.cn软件,以帮助您管理SS

如何下载,安装和更新RTX 4090驱动程序赢得10/11? -  Minitool如何下载,安装和更新RTX 4090驱动程序赢得10/11? - MinitoolApr 28, 2025 am 12:46 AM

如果您手头上有GEFORCE RTX 4090 TI,请及时下载并安装相应的驱动程序以使其正常工作。如果您对如何执行此操作感到困惑,请在PHP.CN网站上遵循本指南以获取详细的教程。

概念暗模式:如何在桌面和移动设备上打开和关闭-Minitool概念暗模式:如何在桌面和移动设备上打开和关闭-MinitoolApr 28, 2025 am 12:45 AM

大多数人认为在黑暗中查看屏幕更加有害。锋利的光很容易使您的眼睛受损。因此,许多人会追求黑暗模式以降低损害。但是真的有用吗?是在Noti上可用的暗模式吗

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。