首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

this指向

This指向问题一直是JavaScript一大核心,很多人都是觉得了解了,但是又模模糊糊。简单概括就是,this指向永远是指向调用这个this对象。下面介绍几个本人理解this指向问题。...} }; obj.b(); 可以看见,b方法是对象obj里面的方法,那么调用b方法对象就是obj,这时this指向就是指向obj,所以输出是100。...,因为调用a是obj对象,this指向obj,那么这边a就是100。...接下来就是改变this指向两个方法,call和apply,两个都是改变this指向,只是参数不同,两个方法第一个参数都是想要改变this指向对象,call除了第一个参数外,剩下都是方法参数,...,就是this改变后指向对象,所以这边输出都是10000。

91920

对象this指向箭头函数this指向定义

可以看出普通函数this指向了本身对象,而箭头函数this往外层找指向了window,因为window没有name字段所以没有输出。...箭头函数使this从“动态”变成“静态”,实质是内部没有this指向,继承上级对象this指向箭头函数this指向定义时外部作用域内this指向,普通函数this指向调用时根据上下文取确认.resp4...为了让后续消息能被安全加密,通信双方需要以安全方式(例如面对面)交换一个密钥,然后就可以使用这个密钥进行安全通信了。这就给通信带了困难,很多时候可能不方便这样面对面的交流。...更致命是,如果需要与多个人通信,与每个人都要重复一遍这个过程,而且交换密钥都不能相同。这样交换密钥和管理密钥成本都很高,甚至是不可行。...3.无法作为构造函数 箭头函数作为匿名函数,没有prototype,没有自己this指向,因此不能使用new构造函数非对称加密密钥不是一个,而是一对。

1.3K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript this指向

    图片 在 JavaScript 中this取什么值,是在函数真正被调用执行时候确定,函数定义时候确定不了,因为this取值是执行上下文环境一部分,每次调用函数,都会产生一个新执行上下文环境...this作为普通函数,指向window function fn1() { console.log(this) } fn1() // window 使用call() apply() bind(),指向第一个参数...fn1.call({x: 100}) // 指向第一个参数 {x: 100} 作为对象方法被调用,指向调用该方法对象 const niangao = { name: '年糕', sayHi(...// setTimeout是作为普通函数去执行,而不是作为niangao.wait()去执行 console.log(this) }) } } 在class方法中被调用,指向实例对象...} eat() { console.log(this) } } const niangao = new Food('年糕') niangao.eat() // Food{} 箭头函数,指向上级作用域

    79331

    Javascript中this指向

    this指向只和调用函数对象有关; 多层嵌套对象,内部方法this指向离被调用函数最近对象(window也是对象,其内部对象调用方法this指向内部对象, 而非window); function...原型链中方法this仍然指向调用它对象; var o = { f : function(){ return this.a + this.b; } }; var p = Object.create...当this传入内联处理函数时,它this指向监听器所在DOM元素; 当this没有传入内联处理函数时,其this指向等同于 函数直接调用情况,即在非严格模式指向全局对象window, 在严格模式指向...this setTimeout 和 setInterval中普通函数this指向全局对象window; (如果传入函数已绑定this或者是箭头函数,则不适用这条,需要继续往下看) function.../JavaScript/Reference/Operators/this https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference

    92300

    web服务器介绍_常见web服务器

    大家好,又见面了,我是你们朋友全栈君。 Web服务器也称为WWW (WORLD WIDE WEB)服务器、HTTP服务器,其主要功能是提供网上信息浏览服务。...下面对常见WEB服务器进行简单介绍,后续对其中一些主要服务器进行实际环境搭建。 1. Apache服务器 Apache仍然是世界上用得最多Web服务器,市场占有率达60%左右。...IIS是允许在公共Intranet或Internet上发布信息Web服务器。它是目前最流行Web服务器产品,很多著名网站都是建立在IIS平台上。...Boa服务器 BOA 服务器是一个小巧高效web服务器,是一个运行于unix或linux下,支持CGI、适合于嵌入式系统单任务http服务器,源代码开放、性能高。...不过就Jigsaw 2.0版本而言,它功能还是超过了目前Web服务器平均水平。最重要是,它体现了未来HTTP协议和基于对象Web服务器技术发展。

    14.5K20

    指向函数指针

    指向函数指针 程序中定义函数后,对程序进行编译时,编译系统为函数分配一段存储空间存储二进制代码,这段内存空间起始地址(也称入口地址)称为函数指针。...程序中可以定义一个指针变量,用来存放一个函数起始地址,即该指针变量指向一个函数,称为函数指针变量。...函数指针变量定义一般形式如下: 类型说明符(*指针变量名)(函数形参列表); 说明: (1)函数指针变量可以指向函数满足两个条件:函数返回值由上面“类型说明符”确定;函数形参列表与上面...p2可以指向返回值类型为 double,形参是一个 double类型变量函数。...例如 int c=(*p1)(100,10); 上面语句调用指针p1指向函数,实参为100和10,返回值赋值给变量c。

    80410

    JS中this指向

    JS中this指向 this指向在函数定义时候是确定不了,只有函数执行时候才能确定this到底指向谁,实际上this最终指向是那个调用它对象。...实例 定义函数与对象并调用,注意只有调用函数才会使this指向调用者,但箭头函数除外。...(this); } }, t5: function(){ // 测试函数调用时箭头函数this指向,其指向了上一层对象调用者 return {...,我们调用同一个方法,但是得到this是不同,要注意实际上this最终指向是那个调用它对象 var s1 = { t1: function(){ console.log...由此,this指向了window 改变this指向 使用 apply、call、bind可以改变this指向,可以参考 https://github.com/WindrunnerMax/EveryDay

    1.9K20

    指向函数指针

    当调用一个函数时出了通过函数名来调用之外,还可以通过指向该函数指针变量来调用。切记,和一切指针变量一样,一个指向函数指针其初值也不能为空。因为它在使用之前必须被赋予一个真实地址。...result = (*p)(0.0,1.0); 25 printf("%g\n",result); 26 } 关于上面的代码,有如下几点说明: (1)、double(*p)()并非是指向某一个固定函数...(2)、(*p)两侧括号不能省,p先与*结合,表面是一个指针变量,在后面的()内容结合,表示此指针变量指向函数而非变量,如果去掉,如:double *p()表示p()返回类型是一个指向double型变量指针...但对于指向函数指针变量,它只能指向函数入口处而无法指向函数中某条具体指令,因此,对于p+n,p++等指针运算对于指向函数指针没有意义。...如:double (*p)(double , double); 所以,通过以上了解,我们知道了指向函数指针灵活性,一个指针变量可以调用多个不同函数,这对于程序优化和简化都起了很大作用。

    1.3K60

    7.4 指向函数指针

    一、什么是函数指针 解释:存储空间起始地址(又称入口地址)称为这个函数指针 二、用函数指针变量调用函数 (1)通过函数名调用 (2)通过指针变量访问它所指向函数 三、定义和使用指向函数指针变量...一般形式 类型名(*指针变量名)(函数参数表列) 注意: ①定义指向函数指针变量,并不意味着这个指针变量可以指向任何函数,它只能指向在定义时指定类型函数 ②如果要用指针调用函数,必须先使指针变量指向该函数...③在给函数入口地址赋值时,只需给出函数名而不必给出参数 ④用函数指针变量调用函数时,只需将(*p)代替函数名即可,在(*p)之后括号中根据需要写上实参 ⑤对指向函数指针变量不能进行算术运算 ⑥用函数名调用函数...,只能调用所指定一个函数,而通过指针变量调用函数比较灵活,可以根据不同情况先后调用不同函数 四、用指向函数指针作函数参数 指向函数指针变量一个重要用途是把函数地址作为参数传递到其他函数

    8453329

    JS中this指向问题

    this指向问题 this应该是第一个让人对JavaScript困惑问题了,但是实际上它原理非常简单:函数this在运行时绑定。 什么叫运行时绑定?...就是函数this和你写在哪里无关,而是和谁调用它有关。谁调用这个函数,this就指向谁。 你现在大概会在想:原来这么简单,我精通了!...先问自己:谁调用它?你应该一下看不出来,这明明就是直接调啊!可能有的基础比较扎实的人会说是window,那真是非常恭喜你了,但你要注意是以上代码在严格模式下是undefined。...正解:brother call / bind / apply 此为3种干预this指向操作,限于篇幅不展开讲。...箭头函数 箭头函数可以让你省很多事,因为它this一般来说都是符合你直觉:它this就是定义时候this。

    95630

    JavaScript中this指向哪?

    一、引言this可以说是前端开发中比较常见一个关键字,由于其指向是在运行时才确定,所以大家在开发中判断其方向时也会很模糊,今天就把this指向问题拆开了,揉碎了,好好讲一讲。...在 getAction() then 后箭头函数中 this 指向什么?思考一下能判断出这两个this指向吗?先卖个管子,等咱们再讲完this相关原理后再来解答这两个问题。...正是因为this在运行中才得以确定其指向上下文对象,所以为了规范和标准化this指向方式,规定了一系列绑定规则,来决定什么情况下this会绑定到哪个对象。...绑定规则优先级上述绑定规则有时会一起出现,因此需要判断不同规则之间优先级,然后再来确定其 this 指向:a....箭头函数中 this 指向箭头函数中this是在定义时确定,它是继承自外层词法作用域。

    15010
    领券