三种方法浅析JavaScript如何改变this指向(js改变this指向的方法)

admin234256年前3条评论

JavaScript怎样扭转this指向?下面本篇文章给人人介绍一下JS扭转this指向的三种方法,希望对于人人有所帮助!

三种方法浅析JavaScript如何改变this指向(js改变this指向的方法) 技术教程

一、this指向

点击关上视频解说更加细致

this到处可见,失常谁调用,this就指向谁。this在分比方情况下,分比方感化下,显示的也分比方。

下列多少种状况,this都是指向window

一、全局感化下,this指向的是window

console.log(window);console.log(this);console.log(window == this); // true

二、函数自力调历时,函数外部的this也指向window

function fun() { console.log('我是函数体'); console.log(this);// Window }fun();

三、被嵌套的函数自力调历时,this默认指向了window

function fun1() {function fun2() {console.log('我是嵌套函数');console.log(this);// Window}fun2();}fun1();

四、自调实行函数(立即实行)中外部的this也是指向window

(function() {console.log('立即实行');console.log(this); // Window})()

需要分外细致的是:

构造函数中的this,用于给类界说成员(属性以及方法)

箭头函数中不this指向,如果在箭头函数中有,则会向上一层函数中查找this,直到window

二、扭转this指向

一、call()方法

call()方法的第一个参数必须是指定的工具,然前方法的原参数,挨个放在前面。

(1)第一个参数:传入该函数this实行的工具,传入甚么强迫指向甚么;

(2)第二个参数最先:将原函数的参数往后顺延一位

用法:函数名.call()

function fun() {console.log(this);// 本来的函数this指向的是 Window}fun();function fun(a, b) {console.log(this); // this指向了输入的 字符串callconsole.log(a + b);}//应用call() 方法扭转this指向,此时第一个参数是 字符串call,那末就会指向字符串callfun.call('call', 2, 3)// 前面的参数便是本来函数自带的实参

二、apply()方法

apply()方法的第一个参数是指定的工具,方法的原参数,对于抗放在第二个数组参数中。

(1)第一个参数:传入该函数this实行的工具,传入甚么强迫指向甚么;

(2)第二个参数最先:将原函数的参数放在一个数组中

用法:函数名.apply()

function fun() {console.log(this);// 本来的函数this指向的是 Window}fun();function fun(a, b) {console.log(this); // this指向了输入的 字符串applyconsole.log(a + b);}//应用apply() 方法扭转this指向,此时第一个参数是 字符串apply,那末就会指向字符串applyfun.apply('apply', [2, 3])// 原函数的参数要以数组的形式显示

三、bind()方法

bind()方法的用法以及call()同样,间接运行方法,需要细致的是:bind返回新的方法,需要从新

调用

是需要自本领动调用的

用法:函数名.bind()

function fun() {console.log(this);// 本来的函数this指向的是 Window}fun();function fun(a, b) {console.log(this); // this指向了输入的 字符串bindconsole.log(a + b);}//应用bind() 方法扭转this指向,此时第一个参数是 字符串bind,那末就会指向字符串bindlet c = fun.bind('bind', 2, 3);c(); // 返回新的方法,需要从新调用// 也能够应用下面两种方法停止调用// fun.bind('bind', 2, 3)();// fun.bind('bind')(2, 3);
你可能想看:

本文链接:http://addon.ciliseo.com/san-zhong-fang-fa-qian-xi-javascript-ru-he-gai-bian-this-zhi-xiang.html

网友评论

  • 2025-03-1509:09:50


    JavaScript中this指向的改变是编程中的常见问题,通过本文介绍的三种方法可以轻松掌握如何调整和影响函数的上下文,非常实用且深入浅出的解析方式。

  • 2025-03-1811:54:42

    三种JavaScript中高招变动this指向技巧!初学者秘籍,共老臣还归精力双商奔走在业引指针.

  • 2025-04-2809:42:52

    这是一篇针对各种疑难问题作出讲解和建议的文章系列,如何像指南针一般为我们的人生疑惑导航,直面难点、生活实用之行都有参考在手指端头绪盘置的大蹟例版!听完外界实证我想半天种分明撞鲁埃及本草相思你了好好的捅神的曝被打讼在路上因为勿或者是今天逐讀更新了深厚的提升只要有亲和瞻自然是表扬诠卡尔布洛芬晒太阳本以为汇编国庆定为围观历史上shehran健儿trioids死亡的年生以最人皆赞颂的精诚与努力来实践如呓,评论:这本书(或文章)非常有用,提供了许多实用的方法和建议来解决我们生活中遇到的各种难题和挑战,如何让我们对未来充满信心并能够更好地应对生活中的种种情况。

扫一扫二维码添加客服微信

关于我们建站招商建站服务