js中的 this指向面试题
- 在普通函数中this指向window
function test(){this.x=1;console.log(this); //window
};
test();
- 在对象下的this指向是对象本身,但在对象中的函数this指向该方法说属对象
var o={test:function(){this.x=3console.log(this); // {x: 3, test: ƒ}}
}
o.test();
this的所在环境 (test函数),执行时,被对象o调用
- 有事件源指向事件源本身,事件源里的普通函数指向window
- 在定时器下出es6箭头函数,this指向window
- 在构造函数中this指向实例本身
// 1.创建构造函数 function user(name,age){this.name=name; //此处 this所在环境 是user构造函数,this.age=age; //构造函数【在创建实例时被执行】(3),this指向创建好的实例(new构造出的新对象user1)}//2.在构造函数 的原型 中添加方法user.prototype.showname=function(){console.log(this.name) //此处 this所在环境 是构造函数原型中的方法} //该方法被【新对象调用】(4),this指向新对象user1user.prototype.showage=function(){console.log(this.age)} var user1 = new user('张三丰',18); // 3.用构造函数创建特定值 对象// 4.用构造函数创建的对象,调用构造函数原型 的方法user1.showname();user1.showage();
ES6写法
class User{constructor(name,age){this.name=namethis.age=age}showname(){console.log(this.name)}showage(){console.log(this.age)}}var user1 = new User('张三丰',18);user1.showname();user1.showage();
- 立即执行函数this指向window
7.箭头函数没有自己的this,它的this指向所在的复函数的this
js中的 this指向面试题相关推荐
- 理解js中this的指向
彻底理解js中this的指向 JavaScript 的 this 指向问题深度解析 转载于:https://www.cnblogs.com/jeacy/p/6509616.html
- JS中this的指向
JS中this的指向,this是js中的一个关键字 1.this的指向有这四种情况 1. 在普通的函数中,this指向全局对象window 2.在构造函数中,this指向创造出来的实例 3.对象的方法 ...
- 简述JS中THIS的指向?
这里是修真院前端小课堂,每篇分享文从 八个方面深度解析前端知识/技能,本篇分享的是: [简述JS中THIS的指向?] 大家好,我是IT修真院武汉分院web第16期的学员孟晨,一枚正直纯洁善良的web程 ...
- 彻底理解js中this的指向
首先必须要说的是,this的指向在函数定义的时候是确定不了的,只有函数执行的时候才能确定this到底指向谁,实际上this的最终指向的是那个调用它的对象(这句话有些问题,后面会解释为什么会有问题,虽然 ...
- 随笔——js中的this指向,apply()与 call()
js中apply和Math.max()函数(原文) apply() Function.apply() 是JS的一个OOP特性,一般用来模拟继承和扩展this的用途,对于上面这段代码,可以这样去理解: ...
- 理解js中的this指向以及call,apply,bind方法
<script> function a(){var user = "追梦子";console.log(this.user); //undefinedconsole.lo ...
- JS中this的指向与改变this指向的三个方法
目录 一.this指向的分类 1.全局函数的调用 2.对象中函数的调用 3.setTimeout与setInterval中的this 4.事件绑定中的this 5.箭头函数中的this 6.构造函数中 ...
- JS 中 this 的指向
为什么要使用this? 解决的问题? 可以先通过一个例子了解下 function speak(){var name = this.nameconsole.log("Hello I am -- ...
- js中this的指向问题
JS 面试题: var obj = { foo: function(){ console.log(this) } } var bar = obj.foo obj.foo() // 打印出的 this ...
最新文章
- 开源 免费 java CMS - FreeCMS-功能说明-操作日志
- 多次执行echarts时出现 there is a chart instance already initialized on the dom
- mysql慢查询分析
- 互联网协议IP抓包分析 -- wireshark
- 打开电话Android系统调用
- Web前端开发笔记——第三章 CSS语言 第八节 CSS3文本文字设置
- VS2010安装异常中断后无法安装的解决方法(安装时发生严重错误)
- LINQ简记(1):基本语法
- 三维数据平滑处理_黑白象片的密度信息 卫星数据处理 遥感制图 三维建模 善图科技...
- 1.Android新版开发教程笔记—Android ADB工具使用
- 2020年天猫双11官宣:分两波购买 比往年多3天
- Parasoft C++test使用教程:执行测试用例(上)
- 一种自动(半自动)学习的算法(验证码识别)
- RT-Thread学习笔记|74HC595驱动数码管详解
- Mac本配置adb环境,通过adb安装apk。
- 第六课:计算两数的GCF(最大公因数)(基于AndroidStudio3.2)
- 【转】canvas初探
- 宏基因组网络分析工具MetagenoNets
- 微信单参数二维码回调配置
- SPA(单页面应用)、路由模式