摘要:只不过只是改变了方法中的关键字,并且把参数传递过去,但是并没有把方法执行,而是返回了我们改变关键字以后的结果。
"use strict";//告诉当前浏览器接下来使用的是严格模式进行编写
var obj = {name: "珠峰培训"};
function fn(num1, num2){
console.log(num1+num2); console.log(this);
}
fn(100, 200);////this ---> window num1=100 num2=200
fn.call(100, 200);//this --->100 num1=100 num2=undefined
fn.call(obj, 100, 200);//this --->obj num1=100 num2=200
fn.call();//this ---> window 在严格模式下this---> undefined
fn.call(null);//this ---> window 在严格模式下this---> null
fn.call(undefined);//this ---> window 在严格模式下this---> undefined
call和apply方法的作用是一模一样的,都是用来改变方法的this关键字,并且把方法执行,而且在严格模式下和非严格模式下,对于第一个参数是null/undefined这种情况的规律也是一样的;只不过call在给方法传递参数的时候,是一个一个传递值的,而apply是吧给方法传递的参数统一放在一个数组中进行操作。
var returnFn = fn.bind(obj,100,200);
bind:也是用来改变方法中this关键字的。只不过bind只是改变了方法中的this关键字,并且把参数传递过去,但是并没有把方法执行,而是返回了我们改变this关键字以后的结果。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/81267.html
摘要:和概览我们要将归为一类,单独归为一类三者的共同点是都可以指定和都是绑定在的原型上的,所以的实例都可以调用这三个方法至于为什么,看完这篇文章你就懂了如果你不懂什么是实例的话,请移步深入浅出面向对象和原型概念篇深入浅出面向对象和原型概念篇第一个 1.call/apply和bind概览 我们要将call/apply归为一类,bind单独归为一类 三者的共同点是都可以指定this call/...
摘要:首先介绍一下和的定义和的作用是改变函数运行时的上下文环境改变的指向将绑定到或者说调用了里面的方法。方法返回的是修改过后的函数追梦子追梦子执行成功 这是一道今天遇到的面试题 showImg(https://segmentfault.com/img/bV8lco?w=330&h=222); 因为setTimeout属于匿名函数,this指向window,所以this.id = 1但还是先总...
总结call,apply,bind方法的理解使用和区别。 call,apply,bind这三个方法在JavaScript中是用来改变函数调用的this指向。那么改变函数this指向有什么用呢?我们先来看一段代码 var a= { name:harden, fn:function () { console.log(this.name); } } var b =...
摘要:输出的作用与和一样,都是可以改变函数运行时上下文,区别是和在调用函数之后会立即执行,而方法调用并改变函数运行时上下文后,返回一个新的函数,供我们需要时再调用。 前言 js中的call(), apply()和bind()是Function.prototype下的方法,都是用于改变函数运行时上下文,最终的返回值是你调用的方法的返回值,若该方法没有返回值,则返回undefined。这几个方法...
摘要:关于前端中是个老生常谈的问题,总是说不清道不明,看这里。的大致用法,相信接触过前端的同学都知道,无非以下种。先想一下,两次执行后结果是什么。输出总结被谁调用指向谁,没有被调用的情况下,浏览器默认为。由于箭头函数中的,总是指向父级作用域。 关于this 前端中this是个老生常谈的问题,总是说不清道不明,看这里。this只能用在函数里面,相信全世界的人都知道。this就是函数在被执行的时...
阅读 1826·2021-11-11 16:55
阅读 1452·2019-08-30 15:54
阅读 769·2019-08-29 15:34
阅读 2252·2019-08-29 13:11
阅读 2908·2019-08-26 13:28
阅读 1877·2019-08-26 10:49
阅读 992·2019-08-26 10:40
阅读 2552·2019-08-23 18:21