美文网首页
【JS】this绑定四个规则

【JS】this绑定四个规则

作者: izhongxia | 来源:发表于2016-07-22 10:15 被阅读112次

this绑定四个规则

zhongxia 2016-07-22 10:02:32

出处: you dont konw js 第三书

github : https://github.com/getify/You-Dont-Know-JS

  1. 函数是否在 new 中调用(nwe绑定)? 如果是的话, this 绑定的是新创建的对象.
var bar = new foo();
  1. 函数是否通过 call,apply (显示绑定) 或者硬绑定调用? 如果是的话, this绑定的是指定的对象
var bar = foo.call(obj,1,2,3);  //this 指向 obj
var bar = foo.apply(obj,[1,2,3])  //this 指向 obj 

call 和 apply 的区别是参数的区别, 传参的方式不一样, call 多个参数逗号隔开, apply 参数, 用数组包起来

  1. 函数是否在某个上下文对象中调用(隐式绑定)? 是的话, this绑定的是上下文那个对象
var bar = obj1.foo();  //this 指向 obj1
  1. 如果都不是的话, 使用默认绑定. 如果在严格模式下, this 就绑定到 undefined, 否则绑定到全局对象 window
var bar = foo(); // this指向 undefined 或者 window

对于正常的函数调用来说, 理解了这些只是, 你就可以明白 this 的绑定原理了. 但是凡事总有例外.

[待补充]

相关文章

  • 【JS】this绑定四个规则

    this绑定四个规则 zhongxia 2016-07-22 10:02:32 出处: you dont konw...

  • JavaScript中this的使用

    js中this的四种用法 参考博文JavaScript中this的四个绑定规则总结 在JavaScript中每一个...

  • React的事件机制

    React Event的主要四个文件是 ReactBrowerEventEmitter.js(负责节点绑定的回...

  • 你不知道的JavaScript:this绑定规则

    默认绑定 JS中最常用的函数调用类型:独立函数调用。可将其看作无法应用其他规则时的默认规则。 声明在全局作用域中的...

  • 深入了解javascript中的this

    this 作为js中的常用引用,区别与词法作用域,有自己一套的规则 this的绑定规则 函数在执行过程中的调用位置...

  • DOM的事件绑定、事件监听

    JS有三种常用的绑定事件的方法 在DOM元素上直接绑定 在JS代码中绑定 在JS中绑定事件监听函数 在DOM中直接...

  • JS this机制

    目录 this 是什么 this 的四种绑定规则 绑定规则的优先级 绑定例外 扩展:箭头函数 this 是什么 理...

  • js中的this详细介绍

    目录this 是什么this 的四种绑定规则绑定规则的优先级绑定例外扩展:箭头函数this 是什么理解this之前...

  • Vue.js数据双向绑定实现

    目前的几种主流前端框架中,react是单向绑定,而angular.js和vue.js是双向绑定,实现双向绑定的方法...

  • Element-UI表单验证

    校验规则 表单通过rules属性绑定校验规则对象,表单项通过prop属性绑定具体校验规则 注意校验的字段必须和表单...

网友评论

      本文标题:【JS】this绑定四个规则

      本文链接:https://www.haomeiwen.com/subject/dfkijttx.html