찾다
웹 프론트엔드JS 튜토리얼Javascript의 프로토타입 문제에 대해. _자바스크립트 기술

프로토타입

1.
prototype은 Clone과 연관되어 있습니다.
즉, 인스턴스가 생성되면 프로토타입은 멤버를 클래스(함수)의 인스턴스로 복제합니다.
세부 사항: 다음과 같은 여러 내장 객체의 가장 일반적인 프로토타입: 배열 프로토타입에는 조인, 분할 메서드가 있습니다.
배열을 생성할 때 var a=[1,2], 프로토타입의 모든 메서드는 Clone입니다. 에.

2. 이는 클래스의 인스턴스 포인터입니다(이 포인터는 "동적으로 바인딩"됩니다). 이 js의 동적 바인딩을 이해하는 방법은 제가 작성한 다음 기사를 참조하세요. http://blog.never-online.net/article.asp?id=117
이 클래스의 인스턴스를 생성할 때 인스턴스는 pre- 모든 멤버가 this.p와 유사하게 정의되어 있습니다. 또한 프로토타입 프로토타입에 정의된 멤버가 있습니다. 클래스의 내부 정의가 프로토타입의 정의와 동일하면 재정의되지 않습니다.

이 예제를 보면 jsclass에 의해 정의된 this.func가 있습니다. 그리고 프로토타입에 정의된 func, jsclass 내부에 프로토타입의 멤버와 동일한 멤버가 있는 경우 인스턴스화 중 우선 순위는 this.func입니다. 그러나 func는 프로토타입에서 다시 작성되지 않지만 jsclass 인스턴스에 공통입니다. this.func만큼 우선순위는 높지 않지만 동시에 프로토타입과 클래스 내부적으로 정의된 멤버도 다음과 같이 이해할 수 있습니다.




위의 내용을 수정해 보겠습니다. 다시 코드를 작성하세요. 이렇게 보세요:



참고: 클래스 내부의 멤버는 삭제를 사용하여 삭제할 수 있지만 프로토타입에 정의된 멤버는 삭제 인스턴스 멤버 이름을 사용하여 삭제할 수 없습니다.
프로토타입으로 정의한 경우 인스턴스화 시: 프로토타입 인스턴스를 사용하여 생성할 객체의 유형을 지정하고, 이러한 프로토타입을 복사하여 새 객체를 생성합니다.
즉, 위의
delete a.func;/ /this <script> <BR>function jsclass() { <BR> this.p = "never-online"; <BR> this.func = function () { <BR> alert('func'); <BR> } <BR>} <BR>jsclass.prototype = { <BR> func : function () { <BR> alert(this.p); <BR> } <BR>} <BR>var a = new jsclass(); <BR>a.func(); <BR>delete a.func; <BR>a.func(); <BR></script>a.func() 클래스 내부에 정의된 func를 삭제합니다. //프로토타입 멤버 <script> <BR>function jsclass() { <BR> this.p = "never-online"; <BR> this.func = function () { <BR> alert('func'); <BR> } <BR>} <BR>jsclass.prototype = { <BR> func : function () { <BR> alert(this.p?this.p:'no value'); <BR> } <BR>} <BR>var a = new jsclass(); <BR>a.func();//调用内部成员 <BR>delete a.func;//此处删除是的类内部定义的func <BR>a.func();//调用prototype成员 <BR>delete a.func;//试图再次删除func(prototype) <BR>a.func();//删除无效(内部的func已经被删除),依然可打印输出 <BR></script>를 호출한 후 다시 a.func()를 호출하면 프로토타입.func를 호출하여 구현됩니다. a.func()가 아닙니다. jsclass 내부에서 func를 정의하고 프로토타입에서 func를 정의할 때 다시 작성하지 않는 이유도 설명됩니다.​

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
如何在技嘉主板上设置键盘启动功能 (技嘉主板启用键盘开机方式)如何在技嘉主板上设置键盘启动功能 (技嘉主板启用键盘开机方式)Dec 31, 2023 pm 05:15 PM

技嘉的主板怎么设置键盘开机首先,要支持键盘开机,一定是PS2键盘!!设置步骤如下:第一步:开机按Del或者F2进入bios,到bios的Advanced(高级)模式普通主板默认进入主板的EZ(简易)模式,需要按F7切换到高级模式,ROG系列主板默认进入bios的高级模式(我们用简体中文来示范)第二步:选择到——【高级】——【高级电源管理(APM)】第三步:找到选项【由PS2键盘唤醒】第四步:这个选项默认是Disabled(关闭)的,下拉之后可以看到三种不同的设置选择,分别是按【空格键】开机、按组

CS玩家的首选:推荐的电脑配置CS玩家的首选:推荐的电脑配置Jan 02, 2024 pm 04:26 PM

1.处理器在选择电脑配置时,处理器是至关重要的组件之一。对于玩CS这样的游戏来说,处理器的性能直接影响游戏的流畅度和反应速度。推荐选择IntelCorei5或i7系列的处理器,因为它们具有强大的多核处理能力和高频率,可以轻松应对CS的高要求。2.显卡显卡是游戏性能的重要因素之一。对于射击游戏如CS而言,显卡的性能直接影响游戏画面的清晰度和流畅度。建议选择NVIDIAGeForceGTX系列或AMDRadeonRX系列的显卡,它们具备出色的图形处理能力和高帧率输出,能够提供更好的游戏体验3.内存电

广联达软件电脑配置推荐;广联达软件对电脑的配置要求广联达软件电脑配置推荐;广联达软件对电脑的配置要求Jan 01, 2024 pm 12:52 PM

广联达软件是一家专注于建筑信息化领域的软件公司,其产品被广泛应用于建筑设计、施工、运营等各个环节。由于广联达软件功能复杂、数据量大,对电脑的配置要求较高。本文将从多个方面详细阐述广联达软件的电脑配置推荐,以帮助读者选择适合的电脑配置处理器广联达软件在进行建筑设计、模拟等操作时,需要进行大量的数据计算和处理,因此对处理器的要求较高。推荐选择多核心、高主频的处理器,如英特尔i7系列或AMDRyzen系列。这些处理器具有较强的计算能力和多线程处理能力,能够更好地满足广联达软件的需求。内存内存是影响计算

主板上的数字音频输出接口-SPDIF OUT主板上的数字音频输出接口-SPDIF OUTJan 14, 2024 pm 04:42 PM

主板上SPDIFOUT连接线序最近我遇到了一个问题,就是关于电线的接线顺序。我上网查了一下,有些资料说1、2、4对应的是out、+5V、接地;而另一些资料则说1、2、4对应的是out、接地、+5V。最好的办法是查看你的主板说明书,如果找不到说明书,你可以使用万用表进行测量。首先找到接地,然后就可以确定其他的接线顺序了。主板vdg怎么接线连接主板的VDG接线时,您需要将VGA连接线的一端插入显示器的VGA接口,另一端插入电脑的显卡VGA接口。请注意,不要将其插入主板的VGA接口。完成连接后,您可以

请推荐一款性价比较高的1155针CPU请推荐一款性价比较高的1155针CPUJan 14, 2024 pm 01:30 PM

求推荐1155针的cpu哪个最好当前性能最高的1155针CPU是IntelCorei7-3770K。它拥有4个核心和8个线程,基础频率为3.5GHz,并支持TurboBoost2.0技术,最高可达到3.9GHz。此外,它还搭载了8MB的三级缓存,是一款非常出色的处理器LGA1155针最强的CPUIntel酷睿i73770K。LGA1155接口为二三代酷睿处理器所使用的接口类型,性能最好的为Intel酷睿i73770K,这款处理器参数如下:1.适用类型:台式机;2.CPU系列:酷睿i7;3.CPU

最佳显卡驱动版本是什么?(哪个显卡驱动版本最好用)最佳显卡驱动版本是什么?(哪个显卡驱动版本最好用)Jan 10, 2024 pm 11:13 PM

哪个版本的显卡驱动最好用1、没有绝对的最好版本,选择适合自己电脑的版本最重要;2、因为显卡驱动版本的适用性和稳定性与电脑硬件环境和系统的配置有关;3、可以在官网查看电脑和显卡的详细信息,根据信息选择适合的驱动版本,也可以参考其他用户的评价选择。建议在安装驱动之前备份系统,以免出现意外情况。显卡驱动版本472.19系列是非常出色的选择。目前,472版本的驱动兼容性是最优秀的。安装472版本的驱动也能够使显卡发挥出最佳性能。NVIDIA显卡驱动Win7安装版,编号为2、472.19,是一款质量显著的

我准备去西藏旅行背包去①背多少升的包合适把你认为最好的配置说下本人170体力不错第一次我准备去西藏旅行背包去①背多少升的包合适把你认为最好的配置说下本人170体力不错第一次Jan 07, 2024 am 10:06 AM

我准备去西藏旅行背包去①背多少升的包合适把你认为最好的配置说下本人170体力不错第一次去徒步多就60升或以上的徒步少就60升以下的全程都坐车就不用背包,旅行箱更方便,真要随身带东西,弄个25~40升的就绰绰有馀西藏旅游必备用品:太阳镜、太阳帽、防晒霜、护肤霜、润唇膏、长袖上衣、毛衣;对于特殊旅游或去阿里、藏北、川藏线旅游,建议带:睡袋(防寒)、床单(防脏)、羽绒服、旅游鞋或登山鞋、拖鞋、牙刷、牙膏、毛巾、卷筒纸、纸内裤、消毒湿巾、手电筒、防水火柴、刀具、绳子。前运包能装电脑吗能装电脑,有些背包有

如何把电脑的百兆网口升级为千兆网口?如何把电脑的百兆网口升级为千兆网口?Dec 31, 2023 pm 05:32 PM

电脑100兆网口怎么变成千兆的要将电脑的100兆网口升级为千兆网口,一般需要按照以下步骤进行操作:1.确认网卡是否支持千兆网速:首先需要确认电脑上的网卡是否支持千兆以太网,如果不支持的话就无法实现将100兆网口提速至千兆。2.更换网线:要实现千兆网速,需要使用Cat5e或更高规格的网线,因为Cat5e网线可以支持千兆以太网,而对于100兆以太网来说则只需使用Cat5网线即可。3.更改网卡驱动程序:如果您的网卡支持千兆以太网,则需要更新网卡的驱动程序。可以前往网卡制造商的官方网站,下载并安装最新的

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구