this对象解析
this在js中有着非常广泛的应用,但其所指的对象也常常让人摸不着头脑,简而言之: this指的就是调用函数的对象,最常见的莫过以下几种
1.直接使用函数,则为window对象
function a(){
this.a= 1
console.log(this)
}
a() //window对象
window对象代表一个浏览器窗口,在js里是全局对象,所有的全局变量和函数都是他的属性,因此调用函数a的自然是window对象
2.作为对象属性被调用,是该对象
var o= {
a: 1,
b: function(){
this.a= 2
console.log(this.a)
console.log(this)
}
}
o.b()
输出结果:

3.作为构造函数的属性被调用,指的是该实例对象
function o() {
this.a= 1;
this.b= ()=>{
console.log(this)
}
}
var o1= new o()
o1.b()
4.apply或call函数调用,根据语法指的是第一个参数
function a(val){
console.log(val)
console.log(this)
}
a.call(1, 2)
输出结果为:

1调用了a函数,并将2作为参数,因此this指向数字1
this对象解析的更多相关文章
- Asp.Net WebApi核心对象解析(下篇)
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...
- Asp.Net WebAPI核心对象解析(三)
对于.NET的分布式应用开发,可以供我们选择的技术和框架比较多,例如webservice,.net remoting,MSMQ,WCF等等技术.对于这些技术很多人都不会陌生,即时没有深入的了解,但是肯 ...
- Asp.Net WebApi核心对象解析(二)
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...
- Delphi中的Sender:TObject对象解析
Delphi中的Sender:TObject对象解析 procedure TForm1.Button1Click(Sender: TObject); begin end; 解析:Procedure是过 ...
- 使用XPath对象解析xml文件
使用XPath对象解析xml文件 1.DocumentBuilderFactory类 工厂API,使应用程序能从XML文档获取生成DOM对象树的解析器 其构造方法受保护,用newInstance() ...
- Asp.Net WebApi核心对象解析
在接着写Asp.Net WebApi核心对象解析(下篇)之前,还是一如既往的扯扯淡,元旦刚过,整个人还是处于晕的状态,一大早就来处理系统BUG,简直是坑爹(好在没让我元旦赶过来该BUG),队友挖的坑, ...
- Delphi中的Sender:TObject对象解析转载
https://blog.csdn.net/jl_tiny/article/details/24376661 Delphi中的Sender:TObject对象解析 procedure TForm1.B ...
- Asp.Net WebApi核心对象解析(上篇)
生活需要自己慢慢去体验和思考,对于知识也是如此.匆匆忙忙的生活,让人不知道自己一天到晚都在干些什么,似乎每天都在忙,但又好似不知道自己到底在忙些什么.不过也无所谓,只要我们知道最后想要什么就行.不管怎 ...
- fastjson将json字符串转化成bean对象解析出错的检查方法
我的情况是:解析第一层数据成功,解析第二层嵌套的数据失败.如: { "response": { "resultcode": "0", &qu ...
- https 对 json空对象解析的影响
2017年11月24日09:56:01 记录一个问题: PHP返回json给APP(安卓, fastjson) 其中一个值是空对象 json_encode( [ 'aaa' => new st ...
随机推荐
- Python 字典初始化dict()和{}
参考:https://doughellmann.com/blog/2012/11/12/the-performance-impact-of-using-dict-instead-of-in-cpyth ...
- python 循环内部添加多个条件判断会出现越界
1.循环遍历数组是,想添加条件修改时,只删除第一个 # -*- coding: utf-8 -*- a=[11,22,33,44,55] for i in a: if i == 11 or i ==2 ...
- 006android初级篇之jni数据类型映射
JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++) 使用JNI的副作用 一旦使用JNI,JAVA程序就丧失了JAV ...
- Ant Design使用问题记录
公司的测试管理平台前端使用的是Ant Design of React框架,后台使用的是python,数据库用的是mysql.没有参与前期的开发,听说是工作了10年积累下来的一个暂且可用的管理平台,开发 ...
- 关闭QQ看点
手机qq联系人 然后右上角公众号 然后看到看点 取消关注!!!
- windows下编译boost for android
env: windows xp 32 bit mingw official NDK 1. 下载源代码 地址是 :http://sourceforge.net/projects/boost/fi ...
- timus1716(概率dp)
题意无比诡异. http://acm.timus.ru/problem.aspx?space=1&num=1716 俄罗斯的英文简直把我吓尿. 题意是对于输入:X1X2X3X4(Xi为YES或 ...
- 三、docker官网注册docker id
docker官网注册docker ID 电脑注册docker没有成功,网上有人说用手机注册,试了一下确实可以注册. 1.下载蓝灯软件开启FQ代理. 2.登录网站,按照提示注册.
- idea 右下角不显示git分支
开发工程中遇到idea右下角不显示git分支问题: 解决方案:查找资料说是需要打开VCS->Enable version control. 但是Enable version control 已经 ...
- Oracle 常用
1. 级联查询 在ORACLE 数据库中有一种方法可以实现级联查询select * //要查询的字段from table //具有子接点ID与父 ...