Javascript的原型继承(原型prototype机制和apply和call方法)

Function.prototype.apply()与Function.prototype.call()小结 JavaScript 中,某个函数的参数数量是不固定的,因此要说适用条件的话,当你的参数是明确知道数量时,用 call,而不确定的时候,用 apply,然后把参数 push 进数组传递进去。当参数数量不确定时,函数内部也可以通过 arguments 这个数组来便利所有的参数 立即下载

Javascript如何实现继承?

1、构造继承
2、原型继承
3、实例继承
4、拷贝继承

【1】:原型prototype机制

function Parent() {
	this.name = 'lle';
}

function Child() {
	this.age = 18;
}

// 通过原型链让Child继承Parent
Child.prototype = new Parent();
let demo = new Child();

console.log(demo.name);

【2】:apply()

function Person(name, age) {
  this.name = name;
  this.age = age;
}

function Student(name, age, grade) {
	Person.apply(this, arguments);
	this.grade = grade;
}

let lle = new Student('lle', '18', '6');
console.log('name: ', lle.name, ',age: ', lle.age, ',grade ', lle.grade

【3】 :  call()

function Person(name, age) {
	this.name = name;
	this.age = age;
}

function Student(name, age, grade) {
	Person.call(this, name, age);
	this.grade = grade;
}

let lle = new Student('lle', '18', '6');
console.log('name: ', lle.name, ',age: ', lle.age, ',grade ', lle.grade);

后两种概述: JavaScript 中通过call或者apply用来代替另一个对象调用一个方法,将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。简单的说就是改变函数执行的上下文,这是最基本的用法。两个方法基本区别在于传参不同。

  • call(obj,arg1,arg2,arg3);call第一个参数传对象,可以是null。参数以逗号分开进行传值,参数可以是任何类型。
  • apply(obj,[arg1,arg2,arg3]);apply第一个参数传对象,参数可以是数组或者arguments对象。
Window10 intel realsense D435安装并实现opencv显示realsense读取的彩色和深度数据(QT+openCV+rsD35) (1)点击"官方指南" 来到下载页,->最新的稳定版本发布 (本人下的2.16.5,现在最新2.17.0) 不需要做开发,只要下载Intel RealSense Viewer就好,这个就是相机的可视化界面,简洁明了。对应的安装包是Intel.RealSense.Viewer.exe。 本人的毕设要用到深度图做开发,所以安装Intel.RealSense.SDK.exe,SDK... 阅读详情

相关推荐

stata 代码实现熵值法计算 含常见问题解答

2.标准化①正向指标②负向指标。

m0_74825360的博客 1217

js笔记——原型(prototype)、原型链、call/apply

原型 定义:原型是function对象的一个属性,它定义了构造函数制造出对象的公共祖先。通过该构造函数产生的对象可以继承该原型的属性和方法。原型也是对象。 Person.prototype.name = "lijing"; Person.prototype.say = function () { console.log("prototype:say"); } function Pers...

芊雨的博客 278

浅谈迪杰斯特拉(Dijkstra)算法和A*算法原理及实现

迪杰斯特拉(Dijkstra)算法和A*算法的原理及实现。

Guo_Zhanyu 9600

继承、原型继承、prototype、call和apply的继承、原型链继承、原型继承中的注意事项、深浅拷贝、

prototype prototype属性: 对于类而言,prototype保存着所有实例的方法,即 所有的实例方法都是在prototype中保存着,平时我们在使用实 例方法时,虽然用对象直接调用,但是真正的保存是在 prototype中。在继承中prototype的作用更加明显; 我们创建的每个函数都有一个属性是prototype(原型) ,这是属性是一个指针,指向一个对象,该对象的用途是包含所 有实例共享的属性和方法。 案例 fun

John_Wick___的博客 233

VisionMaster Qt二次开发:图像获取、COM组件渲染与本地化存储实战

本文详细介绍了基于VisionMaster进行Qt二次开发的核心实战流程,涵盖环境搭建、方案加载、图像数据获取、COM组件渲染与本地化存储。重点解析了如何通过COM组件在Qt界面中实时显示图像,以及将VM图像数据转换为QImage并保存为本地文件的关键步骤与常见问题,为工业视觉项目开发提供稳定高效的解决方案。

weixin_29229261的博客 206

PCB布局布线要求及多层电路板叠加原则

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考本文主要针对PCB布局布线中的要点进行了总结,并对多层电路板的叠加原则进行了解释。

Ka_wyb的博客 2939

Function.prototype的apply&call(.apply.call())

他们作用均为改变函数的this指向 function.call(thisArg, arg1, arg2, …) func.apply(thisArg, [argsArray]) 先来一个问题:说出下面代码产生的结果以及原因 参考 stackoverflow let myArray = Array.apply(null, {length: 10}).map(Number.call, Numbe...

Ethan's Blog 422

android mtk camera如何自定义默认拍照与录像分辨率

本文详细解析了在Android MTK平台上自定义相机默认拍照与录像分辨率的方法。通过分析Camera2应用默认选择逻辑,定位并修改PictureSize.java与VideoQualityCaptureRequestConfig.java中的关键代码,实现绕过系统智能选择,强制指定最高或特定分辨率。文章还提供了进阶的可配置化方案与验证避坑指南,帮助开发者精准控制相机行为。

weixin_29194817的博客 433

【JavaScript】原型继承详解

在面向对象编程中,继承是一个对象可以从另一个对象获得属性和方法的机制。JavaScript 使用原型继承而非类继承,每个对象都有一个隐式关联的原型对象(通过__proto__引用),并且可以访问该原型对象的属性和方法。构造函数是 JavaScript 中用于创建对象的函数。通过使用new关键字,可以调用构造函数并创建新的对象实例。每个构造函数都会自动拥有一个prototype属性,指向一个包含所有实例共享属性和方法的对象。// 输出:Dog在这个例子中,Animal是一个构造函数,dog是。

lph159的博客 2049

基金估值核算系统三国杀:恒生 VS 赢时胜 VS 融选!

本文对比分析了恒生电子、赢时胜和融选科技三家金融科技公司的基金估值系统。恒生电子作为行业龙头,在公募基金领域占据较大份额,其新一代估值系统6.0采用微服务架构,自动化程度高;赢时胜在中型公募和券商资管领域优势明显,其V5.5系统在信创适配和复杂产品处理方面表现突出;融选科技作为新兴厂商,提供轻量化解决方案,适合中小型机构。文章从市场格局、系统定位、技术架构、成本构成和用户反馈五个维度进行深入比较,为金融机构选型提供参考。当前估值系统市场呈现"三国鼎立"格局,各具特色,选型需结合机构规模、

magbox520的博客 827

基于 Python + Flask + Echarts 的疫情监控系统

基于 Python + Flask + Echarts 的疫情监控系统

743

Function.prototype.apply.call和Function.prototype.call.apply

本系列文章是本人学习相关知识时所积累的笔记,以记录自己的学习历程,也为了方便回顾知识;故文章内容较为随意简练,抱着学习目的来的同学务必转移他处,以免我误人子弟~ Function.prototype.apply.call和Function.prototype.call.apply有什么用以及区别 Function.prototype.apply.call(fn, obj, args) 相当...

zyh_haha的博客 524

YOLOv11增量学习数据回放优化:解决新类别引入时的灾难性遗忘问题

本文提出了一种基于生成式潜在回放和提示学习的YOLOv11增量学习系统,旨在解决目标检测中的灾难性遗忘问题。系统采用改进的YOLOv11骨干网络,结合条件变分自编码器生成旧类别特征,并通过渐进式提示调优模块实现高效参数更新。关键技术包括:1) C3k2模块和C2PSA注意力增强特征提取;2) CLIP引导的VAE潜在空间数据回放;3) 类特定与超类别提示相结合的增量调优策略;4) 自适应特征金字塔与显式视觉中心融合机制。实验表明,该方法在保持原有检测性能的同时,显著降低了增量学习过程中的遗忘现象。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 2105

什么是原型、原型链、继承?

prototype的概念: 每一个构造函数都有一个prototype属性,这个属性会在生成实例的时候,成为实例对象的原型对象。javascript的每个对象都继承另一个对象,后者称为“原型”对象。 prototype原型: ...

xiao___fang的博客 5447

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

继承关系_浅析5种Javascript继承关系的应用

在Javascript中如何实现继承关系的应用?Javascript继承概念:js是基于对象的,他没有类的概念,所以实现继承,需要使用js的原型prototype机制或者用applay和call方法实现。1、原型链继承:即子类通过prototype将所有在父类中通过prototype追加的属性和方法都追加到Child,从而实现了继承为了让子类继承父类的属性(也包括方法),首先需要定义一个...

weixin_29227425的博客 98

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

万字干货|JavaScript 从零基础到原型链完整学习笔记(第三期)

HTML 是网页骨架,CSS 是页面美化,JavaScript 是网页交互的灵魂。本文基于完整 JS 学习手册整理,覆盖基础语法、数组、定时器、DOM/BOM、面向对象、原型链、ES6、正则、运动动画全体系知识点,配套可运行代码、底层内存图解、面试核心考点,适合前端入门自学、期末复习、面试复盘。

2501_92407443的博客 374

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

简述原型、原型链和继承

原型、原型链和继承原型原型链继承 原型 每一个构造函数都有一个 prototype 属性,这个属性会在生成实例的时候, 成为实例对象的原型对象。javascript 的每个对象都继承另一个对象,后者称为“原型”(prototype)对象。 原型链 每一个对象都有一个 proto 属性,对象的属性和方法,有可能定义在自 身,也有可能定义在它的原型对象。由于原型本身也是对象,又有自己的原型,所 以形成了一条原型链(prototype chain)。(“原型链” 的作用是:读取对象的某个属 性时,JavaScri

yzkdcsdn的博客 1111

JavaScript的继承机制详谈

JavaScript对象的创建,原型,this关键字,new命令

weixin_47166787的博客 1064

js继承

每当我们说到js的继承时,在您的脑袋的第一反应就是prototype原型机制来实现。但是您是否使用过其他的方法来实现继承呢,或者您是否了解其他实现方式及各种不同的继承实现机制的优缺点呢?好了,下面我们就来看看几种比较常见的继承实现吧。1、 prototype方式 1var BaseClass =function() 2 3{ 4 5    this.name = "3zfp"; 6

老A 365

JavaScript 构造函数的继承

JavaScript 构造函数的继承传奇文学 https://www.xs86.com 在上一篇文章中讲述了 JS 对象、构造函数以及原型模式,这篇文章来讨论下 JavaScript 的继承 继承是 OO 语言中的一个最为人津津乐道的概念。许多 OO 语言都支持两种继承方式:接口继承和实现继承。接口继承只继承方法签名,而实现继承则继承实际的方法。如前所述,由于函数没有签名,在 ECM...

终极冥帝 205

javascript原型、原型链、继承详解

在JavaScript中,call和apply是两个用于调用函数的方法。call。它接收一个参数列表,并将每个参数传递给函数。第一个参数thisArg是可选的,用于指定函数中的this值。如果不传递thisArg,默认为全局对象(在浏览器中是window对象)。call方法会立即调用函数。${${this在这个例子中,call方法将person对象作为第一个参数传递给了greet函数。函数执行后,this.name将会是person对象的name属性。输出将会是。

jieyucx的博客 2037

我理解的call、apply、bind和__proto__、prototype

第一部分 call、apply、bind call、apply、bind都是修改函数内部的this指向。 函数调用call方法,函数内部的this指向call方法的第一个参数,call方法的其他参数会作为函数的实参传递,函数会立即执行。 函数调用apply方法,函数内部的this指向apply方法的第一个参数,apply方法的第二个参数是函数的实参组成的数组,函数会立即执行。 函数调用bind...

yanzhi的博客 372

js中的继承

js的继承和诸如C#、java等面向对象的继承在原理上有很大的差别:js的继承借助this关键字和原型对象prototype实现。 对象冒充:   借助this关键字,给所有的属性、方法赋值,也就是采用类声明的构造函数方式。因为构造函数只是一个函数,所以,可以使ClassA的构造函数,成为ClassB的一个方法,然后调用它,这样一来,ClassB就收到了ClassA的构造函数中定义的属性和方法

李黎敏 ——为优秀j2ee架构师而努力 2010

继承和多态

继承 当子类继承父类对象时,可以直接拿到父类下的属性和方法无需自己重新定义,减少代码写作,js下是单继承,用原型链实现 原型链 每个构造器都有一个原型对象,原型对象包含一个指向构造器的指针,name我们让原型对象指向另一个对象实例,就会实现机制 例如: function Father(){ this.name="张三" this.say=function(){console.log(this.name)} ...

weixin_47775987的博客 178

java 原型图_一张图搞懂原型、原型对象、原型链

基本概念在javascript中,函数可以有属性。 每个函数都有一个特殊的属性叫作原型(prototype)每个对象拥有一个原型对象 [[Prototype]] / __proto__ / Object.getPrototypeOf(object1)通过原型对象一级一级的往上找的这个过程就是原型链原型每个函数都有一个特殊的属性叫作原型(prototype), 默认为空函数,可以重写function...

weixin_28890941的博客 1136

js补充3

JSON格式的使用,作为各开发语言沟通的桥梁 let aa = { name:'xiaming', age:10 } // 转换成JSON格式 , JSON格式的类型是字符串 // 第二个参数是数组的时候,数组内的值代表转换成json格式的属性 // 第三个参数代表返回的json格式前面带有几个空格 console.log(JSON.stringify(aa,['name'],2)); // { // "name": "xiaming" // } // 这个方法还可以对数组进行JSON格式的转

qq_39773416的博客 228
上一篇: 有趣的新技能,css水平垂直居中的特种方式。
下一篇: javascript 的两种继承方式 (构造函数的继承、非构造函数的继承)
Keyboard_Handler
博客等级 码龄10年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值