js中this,箭头函数和普通函数
四种基本用法
1. 一般方法中,this代指全局对象 window
2. 作为对象方法调用,this代指当前对象
3. 作为构造函数调用,this 指代new 出的对象
function test(){
this.x = 1;
}
var o = new test();
alert(o.x); //
4. 调用方法的apply和call方法,可以改变函数的调用对象/作用域 (this)用法:
f.apply([thisObj [,argArray] ]);
f.call([thisObject[,arg1 [,arg2 [,...,argn]]]]);
当省略 thisObj 或为 null 时,全局对象window作为调用对象/作用域 (this)
es6 箭头函数 ,普通函数
箭头函数的this总是指向词法作用域,也就是外层调用者obj
由于this在箭头函数中已经按照词法作用域绑定了,所以,用call()或者apply()调用箭头函数时,无法对this进行绑定,即传入的第一个参数被忽略
深入理解javascript作用域系列第二篇——词法作用域和动态作用域
js中this,箭头函数和普通函数的更多相关文章
- js中escape对应的C#解码函数 UrlDecode
js中escape对应的C#解码函数 System.Web.HttpUtility.UrlDecode(s),使用过程中有以下几点需要注意 js中escape对应的C#解码函数 System.We ...
- JS中的箭头函数与this
转载自:https://juejin.im/post/5aa1eb056fb9a028b77a66fd#heading-1 JavaScript在ES6语法中新增了箭头函数,相较于传统函数,箭头函数不 ...
- js中bind、call、apply函数的用法
最近一直在用 js 写游戏服务器,我也接触 js 时间不长,大学的时候用 js 做过一个 H3C 的 web的项目,然后在腾讯实习的时候用 js 写过一些奇怪的程序,自己也用 js 写过几个的网站.但 ...
- js中bind、call、apply函数的用法 (转载)
最近看了一篇不错的有关js的文章,转载过来收藏先!!! 最近一直在用 js 写游戏服务器,我也接触 js 时间不长,大学的时候用 js 做过一个 H3C 的 web 的项目,然后在腾讯实习的时候用 j ...
- js中各个排序算法和sort函数的比较
js中要实现数据排序,其实只需要用sort函数就能很好的满足了,但是我今天想知道他和其他排序算法的区别,比如耗时呀等.测了一组数据如下: // ---------- 一些排序算法 Sort = {} ...
- js中的join(),reverse()与 split()函数用法解析
<script> /* * 1:arrayObject.reverse() * 注意: 该方法会改变原来的数组,而不会创建新的数组.此函数可以将数组倒序排列 * 2:arrayObject ...
- js中浏览器兼容startsWith 、endsWith 函数
在做js开发的时候用到了startsWith函数时,发现各个浏览器不兼容问题,因为对开发来说,chrome浏览器最好用,就一直在chrome浏览器中使用这两个函数没有任何问题,但在ie浏览器访问就直接 ...
- 深入解析js中基本数据类型与引用类型,函数参数传递的区别
ECMAScript的数据有两种类型:基本类型值和引用类型值,基本类型指的是简单的数据段,引用类型指的是可能由多个值构成的对象. Undefined.Null.Boolean.Number和Strin ...
- JS中有关数组Array的常用方法函数
Array对象的方法主要有如下几种(我所知道的): concat()连接两个或多个数组,并返回结果,但是值得注意的是该方法并不改变数组本身,而仅仅返回一个数组连接的副本. push()在数组后面添加一 ...
- js中遇到的一些方法和函数
这是一个笔记文章,方便日后复习. 加号的优先级高于三目运算符: console.log(') ? 'define' : 'undefine');//define setTimeout(code,mil ...
随机推荐
- java项目中的异常处理总结
异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误.出现错误时观察错误的名字和行号最为重要. 比如你读取的文件不存在,数组越界,进行除法时,除数为0等都会导致异常. 我找一个比较形象 ...
- C++-LUOGU2938- [USACO09FEB]股票市场Stock Market-[完全背包]
开O2,开O2,开O2 重要的事情说三遍 #include <set> #include <map> #include <cmath> #include <q ...
- Web服务与应用
一.Apache 1.1 简介 Apache是一个高稳定,商业级别开源的Web服务器 1.2 下载镜像 DockerHub官方提供Apache镜像不带PHP环境,也就是不是动态网页页面,只能生成静态的 ...
- kruskal算法生成最小生成树
kurskal算法更适合稀疏图 kruskal算法伪代码: int kruskal(){ 令最小生成树的边权之和为ans, 最小生成树的当前边数为Num_Edge; 将所有边按边权从小到大排序; fo ...
- 配置yum仓库:yum install 软件
1.一个重要模板: 进入/etc/yum.repos.d文件夹,新建一个xiaoxu.repo文件,其中xiaoxu可以根据需要来取名. [模板] vim xiaoxu.repo [rhel] ...
- C语言合法标识符 题解
输入一个字符串,判断其是否是C的合法标识符. Input输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串. Output对 ...
- 密码学笔记——playfair密码
Playfair密码(Playfair cipher 或 Playfair square)一种替换密码,1854年由查尔斯·惠斯通(Charles Wheatstone)的英国人发明. 例题: 某种 ...
- at org.apache.hadoop.hbase.tmpl.master.BackupMasterStatusTmplImpl.renderNoFlush(BackupMasterStatusTm
at org.apache.hadoop.hbase.tmpl.master.BackupMasterStatusTmplImpl.renderNoFlush(BackupMasterStatusTm ...
- 【应急响应】Linux安全加固
一.补丁管理 1.查看系统信息 uname -a 2.配置yun源 CentosOS 可以直接升级 RHEL系列可以配置使用CentosOS源 3.升级软件包 yum –y update 二.安全工具 ...
- sqli-libs(32-37(宽字节注入)关)
补充知识:宽字节注入 定义:GB2312.GBK.GB18030.BIG5.Shift_JIS等这些都是常说的宽字节,实际上只有两字节.宽字节带来的安全问题主要是吃ASCII字符(一字节)的现象,即将 ...