javascript中对this的理解
在JavaScript中,this不是固定不变的,它的指向取决于上下文环境,一般的,认为this指向使用它时所在的对象。主要有以下几类指向:
- 在方法中,this 表示该方法所属的对象。
- 如果单独使用,this 表示全局对象。
- 在函数中,this 表示全局对象。
- 在函数中,在严格模式下,this 是未定义的(undefined)。
- 在事件中,this 表示接收事件的元素。
- 类似 call() 和 apply() 方法可以将 this 引用到任何对象。
this代表的是 执行这个this代码的环境对象 ;this在脚本中代表的是window全局对象
eg.1
此处打印的便是karen
eg.2
eg.3
eg.4
为什么要打印this?
this代表了一个对象 常常在项目中我们要给一个对象操作成员
fn() ->window 调用者是window
obj.fn()->obj
obj.xx.xx2()->obj.xx
(function(){})()->window
fn()()->window
fn()[1]()->fn()返回的数组
在js程序中无论多么复杂的程序 this只需要看离(嵌套级别)最近的function的这个单词的调用者
面试题
eg
javascript中对this的理解相关推荐
- javascript中闭包的一些理解
闭包是javascript中绕不开的话题,关于闭包的一些概念和应用,这方面资料比较多,在此就不再赘述.众所周知,闭包的一个作用就是 让一些变量始终保持在内存中 ,在此我用一些实际代码对这句话作进一步的 ...
- JavaScript中事件循环的理解 Event Loop
为了解决单线程运行阻塞问题,JavaScript用到了计算机系统的一种运行机制,这种机制就叫做事件循环(Event Loop) 事件循环(Event Loop) 在JavaScript中,所有的任务都 ...
- 对于JavaScript中this关键字的理解
这是我第二遍学this了,第一遍学的懵懵的.this指哪里都是凭我一个男人的直觉然后控制台输出看看对不对. 刚查了书.博客.视频.理解差不多了.毕竟菜鸡me: 一.首先介绍下什么是this this是 ...
- 谈谈我对Javascript中This对象的理解
this 指针的隐式赋值 this总是指向调用该方法的对象: 在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象Window: 显示操纵 t ...
- javascript中回调函数的理解和应用
一. 什么是回调函数? 被作为实参传入另一函数,并在该外部函数内被调用,用以来完成某些任务的函数,称为回调函数. function f1(fn) {let a =1;console.log(a,'a' ...
- 谈谈JavaScript中function多重理解
JavaScript 中的 function 有多重意义.它可能是一个构造器(constructor),承担起对象模板的作用: 可能是对象的方法(method),负责向对象发送消息.还可能是函数,没错 ...
- html $符号的作用,javascript 中$符号是代表什么意思!
$符号在php中是表示变量的特征字符, 在js中它也有很多作用, 一般我们用来命名一个函数名称,获取id的 1. 首先可以用来表示变量, 比如变量 var s='asdsd'或var $s='asda ...
- 深入理解javascript中的立即执行函数(function(){…})()
2019独角兽企业重金招聘Python工程师标准>>> javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各 ...
- javascript中 (function(){})();如何理解?
javascript中 (function(){})();如何理解? javascript中: (function(){})()是匿名函数,主要利用函数内的变量作用域,避免产生全局变量,影响整体页面环 ...
- JavaScript中的call、apply、bind深入理解
一.函数的三种角色 首先要先了解在函数本身会有一些自己的属性,比如: length:形参的个数: name:函数名: prototype:类的原型,在原型上定义的方法都是当前这个类的实例的公有方法: ...
最新文章
- linux c语言 malloc动态分配指针,C语言malloc函数为一维,二维,三维数组分配空间...
- 【深度学习】最新「深度学习社区发现」综述论文,174篇文献概述六大类方法(含Github资源)...
- 【CentOS Linux 7】实验4【Shell编程】
- 查看数据库 MySQL 的版本信息的命令语句
- mui 获取地图当前位置和经纬度
- 线程的3种实现方式并深入源码简单分析实现原理
- java查漏补缺(基础篇)
- 拓端tecdat:R语言RStan MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据
- 一起写框架-控制反转(Ioc)概述(二)
- 如何在msdn下载纯净文件
- 计算机机房日常巡检内容,IT机房巡检工作流程及标准.doc
- sql server 2012 安装与下载
- RGB/YUV/YIQ 颜色空间
- 【Paper-Attack】A Targeted Universal Attack on Graph Convolutional Network
- Linux ACLs
- uni-app——storage的使用(Storage、StorageSync)
- 机器学习 python
- linux kernle 同步原语
- 在线升级:OTA升级的原理和实现方式
- 航天安网高清视频无损压缩解决方案—IDC机房监控系统案例