博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第149天:javascript中this的指向详解
阅读量:6321 次
发布时间:2019-06-22

本文共 1433 字,大约阅读时间需要 4 分钟。

js中的this指向十分重要,了解js中this指向是每一个学习js的人必学的知识点,今天没事,正好总结了js中this的常见用法,喜欢的可以看看:

1、全局作用域或者普通函数中this指向全局对象window

1 //直接打印 2 console.log(this) //window 3  4 //function声明函数 5 function bar () {console.log(this)} 6 bar() //window 7  8 //function声明函数赋给变量 9 var bar = function () {console.log(this)}10 bar() //window11 12 //自执行函数13 (function () {console.log(this)})(); //window

2、方法调用中谁调用this指向谁

1 {console.log(this)} 2 } 3 person.run() // person 4  5 //事件绑定 6 var btn = document.querySelector("button") 7 btn.onclick = function () { 8     console.log(this) // btn 9 }10 //事件监听11 var btn = document.querySelector("button")12 btn.addEventListener('click', function () {13    console.log(this) //btn14 })15 16 //jquery的ajax17  $.ajax({18     self: this,19     type:"get",20     url: url,21     async:true,22     success: function (res) {23         console.log(this) // this指向传入$.ajxa()中的对象24         console.log(self) // window25     }26    });27  //这里说明以下,将代码简写为$.ajax(obj) ,this指向obj,在obj中this指向window,因为在在success方法中,独享obj调用自己,所以this指向obj

3、在构造函数或者构造函数原型对象中this指向构造函数的实例

1 //不使用new指向window 2 function Person (name) { 3     console.log(this) // window 4     this.name = name; 5 } 6 Person('inwe') 7 //使用new 8 function Person (name) { 9       this.name = name10       console.log(this) //people11       self = this12   }13   var people = new Person('iwen')14   console.log(self === people) //true15 //这里new改变了this指向,将this由window指向Person的实例对象people

 

转载地址:http://tfjaa.baihongyu.com/

你可能感兴趣的文章
Linux基础:分析 Ubuntu 磁盘使用情况
查看>>
Linux 目录导航技巧
查看>>
演讲 | CMU教授邢波:人工智能的路径、方向与未来
查看>>
高斯分布简述
查看>>
ofo CTO 童长飚:7周完成小黄车“出海” 背后有朵阿里云
查看>>
每日Ubuntu小技巧 - 改变Ubuntu Unity启动器尺寸
查看>>
6 款最好的免费 Python IDE
查看>>
《众妙之门——网站UI设计之道(修订版)》一1.2 可视界面设计的工具箱
查看>>
《渐进增强——跨平台用户体验设计》一1.6 适应未知的设备
查看>>
如何设置一个基本的OpenLDAP Server
查看>>
在 Linux 中修改 MySQL 或 MariaDB 的 Root 密码
查看>>
多级缓存:支撑海量读服务的瑞士军刀
查看>>
第十二章 Python文件操作
查看>>
Alibaba Data Center Brain——阿里基础设施智能化之实践
查看>>
CDN的基本工作过程
查看>>
【云栖大会】阿里云推出云通信方案 具备短信、语音、流量、推送等7大服务...
查看>>
【D3.js 学习总结】21、D3交互事件
查看>>
maven 打包 常见错误问题
查看>>
How to troubleshoot slow queries in RDS for SQL Server
查看>>
听说阿里准备建立海外第一个eWTP“试验区”?
查看>>