博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个有趣的Js逗号表达式
阅读量:6883 次
发布时间:2019-06-27

本文共 455 字,大约阅读时间需要 1 分钟。

一些框架源码中经常看到类似这样的语法:

(0, xx.default)(param1, param2)复制代码

乍一看是个方法调用,但是为何要如此写法?

大家应该都知道运算符优先级圆括号最高,逗号最低,

逗号运算从左到右运算,返回最右边的值,

来看一个小例子:

// 函数调用,函数内部的this为空(严格模式下) func(param);// 方法调用,方法内部的this为objobj.method(param)复制代码

所以下面的函数内中this指向了xx

xx.default(param1, param2)复制代码

(0, xx.default)(param1, param2)// 等价于:const func = xx.default;// 此时,this指向window/globalfunc(param1, param2)复制代码

大家可以打开控制台试一下:

哈哈,也是挺有趣的^_^

转载于:https://juejin.im/post/5cbf2639f265da03ac0d0c6c

你可能感兴趣的文章
Hibernate(一)初始Hebirnate
查看>>
unity_ UI
查看>>
loj#6437. 「PKUSC2018」PKUSC(计算几何)
查看>>
CF1110G Tree-Tac-Toe(博弈论)
查看>>
iOS 百度地图大头针使用
查看>>
Linux 源码编译Python 3.6
查看>>
Hibernate-ORM:01.Hibernate恍如隔世般初见
查看>>
更新数据+获取行号+某行记录的地址+from字句
查看>>
goto,null
查看>>
the way of reading English books
查看>>
文本超出部分省略(包括多行文本超出部分省略显示)
查看>>
MongoDB数据库索引
查看>>
jq 操作表单中 checkbox 全选 单选
查看>>
高并发和大流量解决方案@year12
查看>>
模板:排序(三)
查看>>
jsp页面动态展示list-使用<select>和<c:forEach>标签
查看>>
html 样式之style属性的使用
查看>>
Linux 中显示所有正在运行的进程
查看>>
POJ 1753 Flip Game
查看>>
Vc控件用法总结之List Control
查看>>