JavaScript系列从入门到精通系列第十九篇:JavaScript中的this关键字

文章目录

前言

一:什么是this

二:this的灵活妙用 


前言

function fun(a,b){console.log(a + b);
}fun(1,2);

        我们通过形参的形式往参数中添加了参数。浏览器也会默默的给我们传递一个参数过去,这个参数被称为this。传递的节点就是在调用函数的时候。而且,每次都会传。 

一:什么是this

        传递过去的this对象就是全局的window对象。他是调用方法的时候,浏览器给传递过去的,这个是一个上下文对象。

        当然这个上下文对象不会一直是window对象的,根据函数的调用方式不同,我们this对象指向不同的对象。

function fun(){console.log(this);
}fun();var obj = {name:"孙悟空",sayName:fun
};obj.sayName();//[object Object]fun();//[object window]

        使用fun()函数的方式调用时,this永远是window。(本质上这属于window.fun())

        基于方法的形式调用时,this永远是这个方法所在的对象。

        this这个变量指向的对象是会变的,根据调用方式的不同,this只想的具体的对象也不同。

var name = '全局';
function fun(){console.log(this.name);
}var obj = {name :"孙悟空",sayName:fun
};var obj2 = {name :"沙和尚",sayName:fun
};fun();
obj.sayName();
obj2.sayName();

二:this的灵活妙用 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/127388.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云服务器乌兰察布带宽收费价格表

阿里云服务器华北6(乌兰察布)地域公网带宽价格表,1M带宽价格是23元/月,按使用流量价格是0.8元每GB,阿里云服务器网来详细说下1M带宽、5M带宽、6M带宽、10M带宽、20M带宽、50M带宽和100M等带宽收费价格表: …

材质、纹理、贴图的区别和关联

1、材质、纹理、贴图的概念 材质(Material)、纹理(Texture)、贴图(Texture Map)是计算机图形学中的三个概念,它们之间存在关系但也有一些区别。 材质(Material)是描述物…

NPM 常用命令(九)

目录 1、npm link 1.1 使用语法 1.2 描述 2、npm login 2.1 描述 3、npm logout 3.1 描述 4、npm ls 4.1 使用语法 4.2 描述 5、npm org 5.1 使用语法 5.2 示例: 6、npm outdated 6.1 使用语法 6.2 描述 6.3 示例 7、npm owner 7.1 使用语法 7.2…

论文笔记 A theory of learning from different domains

domain adaptation 领域理论方向的重要论文. 这篇笔记主要是推导文章中的定理, 还有分析定理的直观解释. 笔记中的章节号与论文中的保持一致. 1. Introduction domain adaptation 的设定介绍: 有两个域, source domain 与 target domain. source domain: 一组从 source dist.…

Kafka在企业级应用中的实践

前言 前面说了很多Kafka的性能优点,有些童鞋要说了,这Kafka在企业开发或者企业级应用中要怎么用呢?今天咱们就来简单探究一下。 1、 使用 Kafka 进行消息的异步处理 Kafka 提供了一个可靠的消息传递机制,使得企业能够将不同组件…

汽车驾驶 - 四梁六柱是什么

汽车的四梁六柱指的是车辆的两个前纵梁,两个后纵梁和ABC柱。虽然不像车辆上的发动机变速箱这些部件出镜率那么高,但这几个部位的重要作用可一点都不含糊。一辆车在碰撞时能够受力起到保护左右的就是四梁六柱,对我们汽车的安全性起到至关重要的…

使用docker-compose部署Redis(单机部署)

目录 一、查看Redis镜像版本二、拉取自己需要的镜像版本三、创建挂载目录四、添加配置文件五、编写 docker-compose.yml 文件六、启动容器七、连接测试 一、查看Redis镜像版本 先去Docker Hub查看Redis镜像有那些版本,我部署的时候Redis最新已经到7.x的版本了&…

Go运算操作符全解与实战:编写更高效的代码!

目录 简介file 基础数学运算操作符加法操作符 语法示例类型描述 减法操作符 -语法示例类型描述 乘法操作符 *语法示例类型描述 除法操作符 /语法示例类型描述 取模操作符 %语法示例类型描述 位运算操作符按位与操作符 &语法示例类型描述 按位或操作符 |语法示例类型描述 按…

phpstudy本地域名伪静态

环境:WNMP(Windows10 Nginx1.15.11 MySQL5.7.26 【PHP 7.4.3 (cli) (built: Feb 18 2020 17:29:57) ( NTS Visual C 2017 x64 ) 】) 使用PhpStudy配置本地域名后,设置伪静态,这样在Web端打开网站就不需要输入index.php了,很简单…

分类预测 | MATLAB实现SSA-CNN麻雀算法优化卷积神经网络数据分类预测

分类预测 | MATLAB实现SSA-CNN麻雀算法优化卷积神经网络数据分类预测 目录 分类预测 | MATLAB实现SSA-CNN麻雀算法优化卷积神经网络数据分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.MATLAB实现SSA-CNN麻雀算法优化卷积神经网络数据分类预测,多特…

延时队列java

Redis过期键通知(使用redis来实现延迟通知) Slf4j public class KeyExpiredListener extends KeyExpirationEventMessageListener {public KeyExpiredListener(RedisMessageListenerContainer listenerContainer) {super(listenerContainer);}Overridep…

【Proteus仿真】【STM32单片机】汽车倒车报警系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602液晶、按键、继电器电机模块、DS18B20温度传感器、蜂鸣器LED、HCSR04超声波等。 主要功能: 系统运行后,LCD1602显…