var obj = {
value: 1
}
var test = {
value: 2,
aaa: function (num, num2) {
console.log(this);
console.log(this.value + '---' + num + '---' + num2)
}
}
test.aaa.call(obj, 111, 222) //此时
转载
2021-01-27 22:05:12
175阅读
2评论
原创
2022-08-06 00:26:35
149阅读
必备知识点:js 【详解】函数中的 this 指向_js function this-CSDN博客。
原创
2024-03-21 15:22:32
780阅读
call bind apply的作用都是可以进行修改this指向call 和 apply的区别在于参数传递的不同
bind 区别在于最后会返回一个函数。// call Function.prototype.MyCall = function (context) { if (typeof this !== "function") { throw new Error('t
原创
2022-04-07 09:34:50
127阅读
call、apply、bind的使用方法及区别作用:这三个函数的作用都是用来改变this的指向call使用方法fn.call(thisArg, arg1, arg2, arg3 ...)function fn1() {console.log(this)
}const obj = { a: 1 }
fn1.call(obj, 1, 2, 3, 4) // {a: 1}复制代码apply的用法fn.a
转载
2021-01-18 13:27:58
187阅读
2评论
1. 手写call原生call具备的三个功能改变this指向。调用call就是调用函数。(能够返回结果)实现代码function person(a,b,c) { return { name: this.name, a: a, b: b, c: c }}const egg = {name: 'hello'};Function.prototype.myCall = function(obj) { ob
原创
2022-02-25 14:02:11
173阅读
Call原理比较简单,由于函数的this指向它的直接调用者,我们变
转载
2022-03-29 11:16:48
92阅读
callFunction.prototype.call = function call(context, ...params) {
context == null ? context = window : nullif (!/^(function|object)$/i.test(typeof context)) context = Object(context)let self = thi
转载
2021-01-31 19:56:06
134阅读
2评论
涉及面试题call,apply,bind函数内部实现是怎样的?考虑两点:第一个参数为undefined或null的时候,那么会转变为window改变了this执行,让新的对象可以执行该函数。callFunction.prototype.myCall = function(context) { if (typeof context === "undefined" || c...
原创
2021-11-19 13:53:09
341阅读
分析一下call的使用方法:call是显示绑定this指向,然后第一个参数是你所指向的this对象,后面跟着多个参数,以逗号隔开 function sum(num1,num2){ return num1 + num2 } sum.call({},1,2) // 3 上面是一个最简单的call使用方法 ...
转载
2021-09-24 17:22:00
170阅读
2评论
1. apply:改变函数的作用域,第一个参数是希望函数在哪个作用域被调用,或者说调用者是谁,第二个参数为数组形式传入函数参数. Function.prototype.apply = function (thisArg) { let context = thisArg || window; // w ...
转载
2021-09-30 15:05:00
140阅读
2评论
Call原理比较简单,由于函数的this指向它的直接调用者,我们变更调用者即完成this指向的变更:// 简单版Function.prototype.myCall = function(thisArg, ...args) { thisArg.fn = this // this指向调用call的对象,即我们要改变this指向的函数 return thi...
转载
2021-06-30 11:44:42
89阅读
手写call、apply、bind函数 一、总结 一句话总结: 其实都不用记,用脑子去推就好了:核心点是为传进来的对象context添加fn这个函数属性,然后context就可以执行fn这个函数,也就是改变了fn的this指向 Function.prototype.myCall = function
转载
2020-03-20 07:33:00
146阅读
2评论
1. 手写call原生call具备的三个功能改变this指向。调用call就是调用函数。(能够返回结果)实现代码function person(a,b,c) { return { name: this.name, a: a, b: b, c: c }}const egg = {name: 'hello'};Function.prototype.myCall = function(obj) { ob
原创
2021-12-16 16:26:09
187阅读
本文github地址,欢迎starapply、call、bind区别这三个方法都是挂载 Funtion 原型上的方法,所以调用者必须是个函数。Function.prototype.call()Function.prototype.apply()Function.prototype.bind()这三个函数的使用语法:func.call(thisArg, param1, param2, ...)
fu
转载
2021-03-22 20:25:48
322阅读
2评论
1、Call 函数实现 // Call函数实现 Function.prototype.myCall = function(context) { // 判断对象 if (typeof this !== "function") { console.error("Type Error"); } // 获取 ...
转载
2021-08-23 18:08:00
113阅读
2评论
首先是手写call函数,call函数第一个参数是this要指向的对象,第二及后面的参数就是原函数的参数Function.prototype.myCall=function(context,...args){ if(!typeof this==='function'){return;}//判断是否是函数调用 context=typeof context===...
原创
2021-09-03 13:42:01
259阅读
实现基本思路:保留this —— 执行函数 —— 删除函数
原创
2022-08-18 03:48:56
87阅读
前言 大家好 我是歌谣 最近开始进行前端的知识扫盲的讲解 今天要
原创
2023-08-07 07:14:45
39阅读
前言 大家好 我是歌谣 最近开始进行前端的知识扫盲的讲解 今天要给大
原创
2023-08-05 07:51:53
54阅读