#yyds干货盘点# 【js学习笔记二十四】手动封装callES6

简介: #yyds干货盘点# 【js学习笔记二十四】手动封装callES6

前言


我是歌谣 我有个兄弟 巅峰的时候排名c站总榜19 叫前端小歌谣 曾经我花了三年的时间创作了他 现在我要用五年的时间超越他 今天又是接近兄弟的一天人生难免坎坷 大不了从头再来 歌谣的意志是永恒的 放弃很容易 但是坚持一定很酷


导语


手动封装callES6


图片.png

代码部分

Function.prototype.myCall=function(){
 //如果是undefined和null 则指向window  不是对象用object转为对象
let params = Array.from(arguments);//得到所以实参数组
 let _obj = params.splice(0, 1)[0];//获取第一位作为对象,即this指向
//Symbol()表示独一无二的值
_obj.fn=this
 var result=obj.fn(...params)
 //删除属性
delete obj.fn
return result
 }
var name = 'fangfang';
var obj = {
name: 'geyao'
};
 function fn(a, b, c) {
 console.log(a + b + c + this.name);
return a + b + c + this.name
 };
fn.myCall(obj,"我的", "老婆", "是"); // 我的老婆是geyao


运行结果


我的老婆是geyao



相关文章
|
4月前
|
前端开发 数据安全/隐私保护
crypto-js中AES的加解密封装
文章介绍了如何在前端使用crypto-js库进行AES加密和解密,提供了加解密的函数封装示例,并演示了如何加密和解密字符串或对象。
359 1
crypto-js中AES的加解密封装
|
4月前
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
4月前
|
设计模式 JavaScript
JS发布订阅模式封装(纯手工)
发布订阅模式是JS常用的设计模式,在面试中也会经常遇到,以下是我的手写实现方式,经测试效果不错,小伙伴们们可以直接拷贝使用。
|
4月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
3月前
|
JavaScript 前端开发
【干货分享】JavaScript学习笔记分享
【干货分享】JavaScript学习笔记分享
68 0
|
6月前
|
JavaScript 前端开发 容器
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
vue组件封装——固定宽高比的容器(2种方法:纯CSS实现 + JS实现)
226 2
|
6月前
|
JavaScript
js函数封装 —— 金额添加千分位分隔符
js函数封装 —— 金额添加千分位分隔符
83 2
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
49 0
|
6月前
|
JavaScript
js 高频实用函数封装汇总(持续更新)
js 高频实用函数封装汇总(持续更新)
43 0
|
6月前
|
JavaScript
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
js 数组移除指定元素【函数封装】(含对象数组移除指定元素)
49 0