首页 > 编程语言 >10.JavaScript原型,原型链有什么特点

10.JavaScript原型,原型链有什么特点

时间:2023-07-14 23:24:48浏览次数:50  
标签:10 这个 对象 JavaScript 原型 属性 构造函数

10. JavaScript 原型,原型链? 有什么特点?

在 js 中我们是使用构造函数来新建一个对象的,每一个构造函数的内部都有一个 prototype 属性值,这个属性值是一个对
象,这个对象包含了可以由该构造函数的所有实例共享的属性和方法。当我们使用构造函数新建一个对象后,在这个对象的内部
将包含一个指针,这个指针指向构造函数的 prototype 属性对应的值,在 ES5 中这个指针被称为对象的原型。一般来说我们
是不应该能够获取到这个值的,但是现在浏览器中都实现了 __proto__ 属性来让我们访问这个属性,但是我们最好不要使用这
个属性,因为它不是规范中规定的。ES5 中新增了一个 Object.getPrototypeOf() 方法,我们可以通过这个方法来获取对
象的原型。

当我们访问一个对象的属性时,如果这个对象内部不存在这个属性,那么它就会去它的原型对象里找这个属性,这个原型对象又
会有自己的原型,于是就这样一直找下去,也就是原型链的概念。原型链的尽头一般来说都是 Object.prototype 所以这就
是我们新建的对象为什么能够使用 toString() 等方法的原因。

特点:

JavaScript 对象是通过引用来传递的,我们创建的每个新对象实体中并没有一份属于自己的原型副本。当我们修改原型时,与
之相关的对象也会继承这一改变。

详细资料可以参考:
《JavaScript 深入理解之原型与原型链》

标签:10,这个,对象,JavaScript,原型,属性,构造函数
From: https://www.cnblogs.com/zhuoss/p/17555326.html

相关文章

  • 107.SQL注入攻击
    107.SQL注入攻击?SQL注入攻击指的是攻击者在HTTP请求中注入恶意的SQL代码,服务器使用参数构建数据库SQL命令时,恶意SQL被一起构造,破坏原有SQL结构,并在数据库中执行,达到编写程序时意料之外结果的攻击行为。详细资料可以参考:《Web安全漏洞之SQL注入》《如何防范......
  • 110.Object.defineProperty介绍
    110.Object.defineProperty介绍?Object.defineProperty函数一共有三个参数,第一个参数是需要定义属性的对象,第二个参数是需要定义的属性,第三个是该属性描述符。一个属性的描述符有四个属性,分别是value属性的值,writable属性是否可写,enumerable属性是否可枚举,configurable......
  • 104.什么是CSRF攻击如何防范CSRF攻击
    104.什么是CSRF攻击?如何防范CSRF攻击?CSRF攻击指的是跨站请求伪造攻击,攻击者诱导用户进入一个第三方网站,然后该网站向被攻击网站发送跨站请求。如果用户在被攻击网站中保存了登录状态,那么攻击者就可以利用这个登录状态,绕过后台的用户验证,冒充用户向服务器执行一些操作。C......
  • 105.什么是SamesiteCookie属性
    105.什么是SamesiteCookie属性?SamesiteCookie表示同站cookie,避免cookie被第三方所利用。将Samesite设为strict,这种称为严格模式,表示这个cookie在任何情况下都不可能作为第三方cookie。将Samesite设为Lax,这种模式称为宽松模式,如果这个请求是个GET请求,并......
  • 109.vue双向数据绑定原理
    109.vue双向数据绑定原理?vue通过使用双向数据绑定,来实现了View和Model的同步更新。vue的双向数据绑定主要是通过使用数据劫持和发布订阅者模式来实现的。首先我们通过Object.defineProperty()方法来对Model数据各个属性添加访问器属性,以此来实现数据的劫持,因此当M......
  • 比Wi-Fi快100倍!Li-Fi无线传输标准802.11bb正式发布:带宽高达224GB/s
    大家对Wi-Fi可以说耳熟能详,最新标准已经演进到802.11be,即Wi-Fi7,理论速率可达30Gbps。现在,更强的来了。IEEE今日正式签署802.11bb无线传输标准,即Li-Fi,基于光波的无线传输。Li-Fi支持者认为,光比射频更可靠,由此也使得Li-Fi比Wi-Fi和5G都要更快、更安全,Li-Fi的发布,也有助于和Wi-F......
  • Win10 子系统 WSL 开机启动服务
    文章来源:https://www.yuque.com/hhun/code/wsl2_runLinux中创建执行脚本脚本路径 /etc/init.wsl脚本内容#! /bin/sh/etc/init.d/cron $1/etc/init.d/ssh $1/etc/init.d/bt $1/etc/init.d/nginx $1/etc/init.d/php-fpm-56 $1/etc/init.d/php-fpm-73 $1/etc/in......
  • IntelliJ IDEA中我最爱的10个快捷操作
    前言IntelliJIDEA提供了一些Java的快捷键,同样也可以帮助我们提高日常的开发效率。关于这些快捷操作,你知道那几个呢?1.psvm/main快速生成main()方法在日常开发中,我们经常需要写main()方法,这时候您也可以使用main或者psvm命令快速地帮助我们创建出main()方法。2.sout快速生成print......
  • 修改系统注册表文件,完美设置 Windows10 透明任务栏
    无需安装各种乱七八糟的任务栏透明软件,直接操作系统注册表文件,完美设置Windows10透明任务栏的方法分享。Windows10是一款广受欢迎的操作系统,其任务栏是用户操作系统的重要界面之一。对于那些想要定制其任务栏的用户来说,许多人希望使用透明的任务栏。在本文中,我们将介绍如何设置......
  • centos7.4二进制安装mariadb-10.2.15-linux-x86_64.tar.gz
    1检查环境iptablesselinuxmariadb-server2下载二进制包3useradd-r-d/data/mysqldb-s/sbin/nologinmysql4tarxvfmariadb-10.2.15-linux-x86_64.tar.gz-C/usr/local/cd/usr/localln-smariadb-10.2.15-linux-x86_64/mysqlchown-Rroot:rootmysql/5e......