js中的call和apply方法

news/2025/3/14 17:13:28/

this总是指向调用时的对象,但是apply()和call()可以修改this指向。

call()方法

语法:obj.call(thisObj, arg1, arg2…)

call的第一个参数就是要修改的this所在的对象,其余参数是是作为参数传入到调用的方法上。

注意: 如果没有提供 thisObj 参数,那么 Global 对象被用作 thisObj。

作用:通过修改this指向,将一个对象的属性或方法在另一个对象方法中使用。

obj1.call(obj2, arg1, arg2);

如上:call的作用就是把obj1的方法放在obj2上使用。

可以实现继承

function myfunc1(){this.name = 'Lee';this.myTxt = function(txt) {console.log( 'i am',txt );}
}function myfunc2(){myfunc1.call(this);
}var myfunc3 = new myfunc2();
myfunc3.myTxt('Geing'); // i am Geing
console.log (myfunc3.name);	// Lee

apply()

和call()方法功能一样,区别是第二个参数是数组形式。

语法:apply(thisObj, [argArray])

注意: 如果 argArray不是一个有效的数组或者不是arguments对象,那么将导致一个 TypeError。如果没有提供 argArray 和 thisObj 任何一个参数,那么 Global 对象将被用作 thisObj, 并且无法被传递任何参数。


http://www.ppmy.cn/news/1138172.html

相关文章

NOIP-2023模拟题

全国青少年信息学奥林匹克竞赛 NOIP2023模拟 时间:8:00-12:30 题目名称异或游戏连通块公交路线题目类型传统型传统型传统型传统型目录 xor \text{xor} xor game \text{game} game connect \text{connect} connect route \text{route} route可执行文件名 xor \text{x…

DBC配置SecOC属性

关联文章:Autosar基础——车载信息安全SecOC 属性定义的规范详细介绍请参考 ①dbc属性定义 ②Vector DBC属性定义规则 文章目录 一、SecOC简介二、DBC文件中的SecOC属性三、配置SecOC属性设置SecOC的属性设置同步报文的属性设置同步请求报文的属性一、SecOC简介 在车载网络中…

Python(八十八)函数的参数传递

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

速学数据结构 | 手把手教你会单链表的构建方式

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《初阶数据结构》《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活! 文章目录 📋 前言1. 什么是链表1.1 链表的物理结构1.2 链表的种类 2. 链表的实现一. SList.h 单链表的声明3.…

手把手教你从零开始腾讯云服务器部署(连接建站教程)

使用腾讯云服务器搭建网站全流程,包括轻量应用服务器和云服务器CVM建站教程,轻量可以使用应用镜像一键建站,云服务器CVM可以通过安装宝塔面板的方式来搭建网站,腾讯云服务器网txyfwq.com分享使用腾讯云服务器建站教程,…

二叉树经典OJ题

二叉树的层序遍历 1.题目2.图文分析3.代码演示 1.题目 2.图文分析 3.代码演示

力扣 -- 873. 最长的斐波那契子序列的长度

解题步骤&#xff1a; 参考代码&#xff1a; class Solution { public:int lenLongestFibSubseq(vector<int>& nums) {int nnums.size();unordered_map<int,int> hash;for(int i0;i<n;i){hash[nums[i]]i;}int ret2;vector<vector<int>> dp(n,v…

生产设备巡检管理系统

凡尔码搭建生产设备巡检系统是通过确保巡检工作的质量以及提高巡检工作的效率来提高设备维护水平的一种系统&#xff0c;它对巡检管理考核工作从巡检人员、巡检任务、隐患管理、图像视频、盯防考核进行严格、科学的统计、分析&#xff0c;从而有效的保障巡检工作的顺利展开&…