当前位置:首页 > 科技  > 软件

你不知道的JavaScript—探索 JavaScript 对象与原型

来源: 责编: 时间:2024-05-16 09:02:18 207观看
导读你好,我是小白Coding日志,一个热爱技术的程序员。在这里,我分享自己在编程和技术世界中的学习心得和体会。希望我的文章能够给你带来一些灵感和帮助。欢迎来到我的博客,一起在技术的世界里探索前行吧!JavaScript 是一种强

你好,我是小白Coding日志,一个热爱技术的程序员。在这里,我分享自己在编程和技术世界中的学习心得和体会。希望我的文章能够给你带来一些灵感和帮助。欢迎来到我的博客,一起在技术的世界里探索前行吧!BDa28资讯网——每日最新资讯28at.com

JavaScript 是一种强大而灵活的脚本语言,其核心特性之一是对象与原型。理解 JavaScript 对象和原型的工作原理对于成为一名优秀的 JavaScript 开发者至关重要。BDa28资讯网——每日最新资讯28at.com

JavaScript 对象:一切皆对象

在 JavaScript 中,几乎一切都是对象。对象是一种复合值,它可以包含属性和方法。属性是键值对,其中键是字符串,值可以是任何数据类型。方法是与对象相关联的函数。BDa28资讯网——每日最新资讯28at.com

对象的创建

对象可以通过对象字面量、构造函数、Object.create() 方法等方式创建。BDa28资讯网——每日最新资讯28at.com

// 对象字面量let person = {    name: 'Alice',    age: 30,    greet: function() {        console.log('Hello, my name is ' + this.name);    }};// 构造函数function Person(name, age) {    this.name = name;    this.age = age;}let person1 = new Person('Bob', 25);// Object.create()let person2 = Object.create(person);person2.name = 'Charlie';person2.age = 20;

对象的访问与修改

对象的属性可以通过点符号或方括号访问和修改。BDa28资讯网——每日最新资讯28at.com

console.log(person.name); // 输出 'Alice'person.age = 35; // 修改 age 属性的值为 35

JavaScript 原型:共享属性和方法

JavaScript 是一种基于原型的语言,每个对象都有一个原型。原型是对象的基础,它包含对象共享的属性和方法。当对象访问一个属性或方法时,如果对象本身没有这个属性或方法,它会沿着原型链向上查找,直到找到为止。BDa28资讯网——每日最新资讯28at.com

原型链

原型链是一种对象之间关系的表示,它是由对象的原型构成的链式结构。当我们访问一个对象的属性或方法时,JavaScript 引擎会沿着原型链依次查找,直到找到对应的属性或方法为止。BDa28资讯网——每日最新资讯28at.com

console.log(person.__proto__); // 输出对象的原型console.log(person.__proto__.__proto__); // 输出原型的原型,直到 Object.prototype

原型继承

JavaScript 中的原型继承是一种基于原型链的继承方式。子对象可以通过原型链继承父对象的属性和方法。BDa28资讯网——每日最新资讯28at.com

// 父对象构造函数function Animal(name) {    this.name = name;}Animal.prototype.sayName = function() {    console.log('My name is ' + this.name);};// 子对象构造函数function Dog(name, breed) {    Animal.call(this, name);    this.breed = breed;}Dog.prototype = Object.create(Animal.prototype);Dog.prototype.constructor = Dog;let dog = new Dog('Buddy', 'Golden Retriever');dog.sayName(); // 输出 'My name is Buddy'

实际应用:使用对象和原型进行模块化和继承

JavaScript 对象和原型的概念为模块化和继承提供了强大的支持。通过合理地组织对象和利用原型链,我们可以编写可维护、可扩展的代码。BDa28资讯网——每日最新资讯28at.com

模块化

let module = {    data: [],    add: function(item) {        this.data.push(item);    },    remove: function(index) {        this.data.splice(index, 1);    }};module.add('apple');module.add('banana');module.remove(0);console.log(module.data); // 输出 ['banana']

继承

// 父对象构造函数function Shape() {    this.color = 'red';}Shape.prototype.getColor = function() {    return this.color;};// 子对象构造函数function Circle(radius) {    Shape.call(this);    this.radius = radius;}Circle.prototype = Object.create(Shape.prototype);Circle.prototype.constructor = Circle;Circle.prototype.getArea = function() {    return Math.PI * this.radius * this.radius;};let circle = new Circle(5);console.log(circle.getColor()); // 输出 'red'console.log(circle.getArea()); // 输出 78.53981633974483

总结

JavaScript 对象和原型是该语言的核心特性之一,通过本文的介绍,我们深入探讨了 JavaScript 对象和原型的概念、创建、访问与修改、原型链、原型继承以及实际应用。BDa28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-88317-0.html你不知道的JavaScript—探索 JavaScript 对象与原型

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 探索分布式系统演进之路:从负载均衡到微服务架构

下一篇: 一文彻底搞明白备忘录模式

标签:
  • 热门焦点
  • MIX Fold3包装盒泄露 新机本月登场

    小米的全新折叠屏旗舰MIX Fold3将于本月发布,近日该机的真机包装盒在网上泄露。从图上来看,新的MIX Fold3包装盒在外观设计方面延续了之前的方案,变化不大,这也是目前小米旗舰
  • 7月安卓手机性能榜:红魔8S Pro再夺榜首

    7月份的手机市场风平浪静,除了红魔和努比亚带来了两款搭载骁龙8Gen2领先版处理器的新机之外,别的也想不到有什么新品了,这也正常,通常6月7月都是手机厂商修整的时间,进入8月份之
  • 6月iOS设备好评榜:第一蝉联榜首近一年

    作为安兔兔各种榜单里变化最小的那个,2023年6月的iOS好评榜和上个月相比没有任何排名上的变化,仅仅是部分设备好评率的下降,长年累月的用户评价和逐渐退出市场的老款机器让这
  • 5月iOS设备性能榜:M1 M2依旧是榜单前五

    和上个月一样,没有新品发布的iOS设备性能榜的上榜设备并没有什么更替,仅仅只有跑分变化而产生的排名变动,刚刚开始的苹果WWDC2023,推出的产品也依旧是新款Mac Pro、新款Mac Stu
  • 量化指标是与非:挽救被量化指标扼杀的技术团队

    作者 | 刘新翠整理 | 徐杰承本文整理自快狗打车技术总监刘新翠在WOT2023大会上的主题分享,更多精彩内容及现场PPT,请关注51CTO技术栈公众号,发消息【WOT2023PPT】即可直接领取
  • 小红书1周涨粉49W+,我总结了小白可以用的N条涨粉笔记

    作者:黄河懂运营一条性教育视频,被54万人“珍藏”是什么体验?最近,情感博主@公主是用鲜花做的,火了!仅仅凭借一条视频,光小红书就有超过128万人,为她疯狂点赞!更疯狂的是,这
  • 大厂卷向扁平化

    来源:新熵作者丨南枝 编辑丨月见大厂职级不香了。俗话说,兵无常势,水无常形,互联网企业调整职级体系并不稀奇。7月13日,淘宝天猫集团启动了近年来最大的人力制度改革,目前已形成一
  • 当家的盒马,加速谋生

    来源 | 价值星球Planet作者 | 归去来自己“当家”的盒马,开始加速谋生了。据盒马官微消息,盒马计划今年开放生鲜供应链,将其生鲜商品送往食堂。目前,盒马在上海已经与
  • 3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更是首发搭载了联发科天玑9200+旗舰
Top