前端扫盲202307手写call(1)

简介: 前端扫盲202307手写call

前言


大家好 我是歌谣 最近开始进行前端的知识扫盲的讲解 今天要给大家带来的是手写call的一个讲解


call用法


需求是我们要将绑定的geyao的对象变成绑定为fangfang

var geyao={
            name:"geyao",
            show(){
                console.log(this,"this")
                console.log(` 我是${this.name}`)
            }
        }
        var fangfang={
            name:"fangfang"
        }
         geyao.show()
       geyao.show.call(fangfang)

控制台输出

image.png



简单小结


call有两个作用 第一调用他的函数并且要求他能够立刻执行 第二就是改变了一下他的this指向


封装自己的简单call函数

var geyao={
            name:"geyao",
            show(){
                console.log(this,"this")
                console.log(` 我是${this.name}`)
            }
        }
        var fangfang={
            name:"fangfang"
        }
       Function.prototype.GeyaoCall=function (content){
            content.show=this
            this.show()
       }
       geyao.show.GeyaoCall(fangfang)

运行结果




小结


这样简单的一个call就被我们实现了 但是一些缺陷我们还需要优化实现 call没有参数的时候this会指向window call可以传递多i个参数 加入属性会增加他的属性 这些都是我们需要解决的 于是乎 我们将传递的参数变为两个参数

相关文章
|
前端开发 JavaScript 开发者
揭秘JavaScript魔法三剑客:call、apply、bind,解锁函数新世界,你的前端之路因它们而精彩!
【8月更文挑战第23天】在 JavaScript 的世界里,`call`、`apply` 和 `bind` 这三个方法常常让新手感到困惑。它们都能改变函数执行时的上下文(即 `this` 的指向),但各有特点:`call` 接受一系列参数并直接调用函数;`apply` 则接收一个参数数组,在处理不确定数量的参数时特别有用;而 `bind` 不会立即执行函数,而是创建一个新版本的函数,其 `this` 上下文已被永久绑定。理解这三个方法能帮助开发者更好地运用函数式编程技巧,提升代码灵活性和可维护性。
350 0
|
前端开发
前端学习笔记202306学习笔记第三十八天-手写call得实现1
前端学习笔记202306学习笔记第三十八天-手写call得实现1
193 0
|
前端开发 JavaScript
【Web 前端】 js中call、apply、bind有什么区别?
【4月更文挑战第22天】【Web 前端】 js中call、apply、bind有什么区别?
【Web 前端】 js中call、apply、bind有什么区别?
|
前端开发 JavaScript
前端 JS 经典:apply、call、bind
前端 JS 经典:apply、call、bind
300 0
|
前端开发
前端扫盲之手写apply
前端扫盲之手写apply
297 0
前端扫盲之手写apply
|
前端开发
前端扫盲202307手写apply
前端扫盲202307手写apply
281 0
|
前端开发
前端扫盲202307手写call(2)
前端扫盲202307手写call
214 0
|
前端开发
前端小知识点扫盲笔记记录8
前端小知识点扫盲笔记记录8
196 0
|
前端开发
前端学习笔记202306学习笔记第三十八天-手写call得实现2
前端学习笔记202306学习笔记第三十八天-手写call得实现2
161 0

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    1446
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    717
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    577
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    582
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    670
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    851
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    1674
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    400
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    1384
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    689