JavaScript中的this用法
最近看了许多JavaScript源代码,发现this经常出现,于是对this这个
非常特殊的关键词标识符进行总结。
题外话:
1、当函数被调用时,一个activation record【过程活动记录 -- 一种数据结构】被创建,
这个record包涵信息:函数在哪调用,函数怎么调用的,参数等等,
record的一个属性就是this
,指向函数执行期间的this
对象。
2、函数在被调用时都会自动取得两个特殊变量,this和arguments
this
在具体情况下的分析:
1、在全局上下文,this
指向全局对象。
2、在函数内部时,this
由函数怎么调用来确定。
(1)作为对象方法的调用
也可以这样写
(2)作为构造函数的调用
在构造函数(函数用new
调用)中,this
指向要被constructed的新对象。 即this指向实例化对象
3、apply调用
apply()是函数对象的方法,其作用是改变函数的调用对象,它的第一个参数 表示改变后的调用的函数对象,即this指的就是第一个参数。
apply()参数为空时,默认调用全局对象,可以看到,运行结果为 "Yori",证明this指向全局对象。
apply()参数为b时,,可以看到,运行结果为 "bentos",证明this指向对象b。
转载于:https://www.cnblogs.com/wuyongyu/p/5756626.html
JavaScript中的this用法相关推荐
- javascript 中 console 的用法
javascript 中 console 的用法 视频 https://www.bilibili.com/video/BV1g7411L751?from=search&seid=1567656 ...
- JavaScript中window.open用法实例详解
本文较为详细的分析了JavaScript中window.open用法.分享给大家供大家参考.具体如下: 复制代码 代码如下: <script LANGUAGE="javascript& ...
- javascript 中this 的用法:
javascript 中this 的用法: 1.<div οnclick="// 可以在里面使用this">division element</div> t ...
- 关于JavaScript中typeof的用法
一.typeof的作用 在JavaScript中,变量未经声明就使用,系统是会报错的.但是,typeof却是js中有且仅有的一个特例. typeof的作用就是用来区分数据类型的,下面先说说typeof ...
- javascript中call的用法总结
javascript中call的用法总结 1.使用call方法调用函数并且指定上下文的'this' function greet(){console.log(this.name+",age= ...
- javascript 中innerHTML的用法
javascript 中innerHTML的用法 语法 Object.innerHTML = "HTML";//设置其内容 var html = Object.innerHTML; ...
- JavaScript中splice的用法
JavaScript中的splice主要用来对JS中的数组进行操作,包括删除,添加,替换等,原来的数组会被改变: 删除: array.splice(index,num),返回值为删除内容,array为 ...
- JavaScript中 with的用法
文章是本人大三期间的学习笔记,一些论断取自书籍和网上博客,碍于当时的技术水平有一些写得不够好的地方,可以在评论处理智讨论~ 说起js中的with关键字,很多小伙伴们的第一印象可能就是with关键字的作 ...
- JavaScript中typeof的用法
JavaScript中typeof知多少? typeof运算符介 绍: typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型. 它返回值是一个字符串,该字符串说明运算数的类型. 你 ...
- javascript中reduce的用法
文章目录 一.reduce基本语法 二.reduce常用场景 1. 求和 2. 数据拼接 三.实际项目中使用示例 1. 模拟Redux中的compose方法 1.1. 简单写法 1.2 利用reduc ...
最新文章
- ubuntu su进入root权限
- 107.网络服务质量包括哪些(QoS)
- 《岸上的波妞》观后感
- 【ArcGIS遇上Python】Python使用栅格数据
- Eclipse中启动tomcat报错java.lang.OutOfMemoryError: PermGen space的解决方法
- html段落前的空格,HTML空格:空格前后
- 动态规划——小A点菜(洛谷 P1164)
- 去除eclipse打开后不断update的问题
- lua OOP实现对象的链式调用
- 使用 anacoda 安装scrapy
- 如何为SQL Server2008添加登录账户并配置权限
- 新手android中ListView实现音乐列表
- linux源代码分析和阅读工具比较
- kali系统下libtorrent的安装编译
- psd 直接导入unity
- 新媒体运营教程:名字都没起好,凭什么让用户关注你?
- 中国汽车市场的“底层”骗局
- 使用CAD镜像和修剪命令绘制图形
- Alice和Bob的故事---非对称加密
- 跨境电商东南亚平台Shopee、Lazada到底怎么样?如何高效补单?