js 中 ! + - ~ 符号和匿名函数
首先,问题的关键在于理解三个操作符,分别是:
一元运算符中的逻辑非运算符(!)和按位非运算符(~)
圆括号操作符
逗号操作符
在本例中,首先声明函数的一般形式为:
function [name]([param1[, param2[, ..., paramN]]]) {statements
}
而如果省略掉这个[name]
,就变成了匿名函数。但是匿名函数单独写的话就会报错:
为了让它成为合法的表达式,这时就需要一元运算符了:
这时这个表达式就合法了。但是这时它还只是一个静态的表达式,而我们的目的是直接运行内容求值,所以就需要圆括号操作符,变成~function(){}()
这种形式,花括号“{}”里面是写的具体的运行内容,第一个圆括号表示声明一个匿名函数,如果不加上第二个圆括号,它仅仅是一个声明表达式,即使花括号里面有内容,也不会被解释器执行,想要让解释器看到这个函数就立即执行,那么这就是后面那个圆括号的作用了,而如果需要很多个批量写呢,再加上逗号操作符,变成:
~function(){}(),
!function(){}(),
!function(){}();
这样就是题中的形式了。
js 中 ! + - ~ 符号和匿名函数相关推荐
- js中(function(){…})()立即执行函数写法理解
js中(function(){-})()立即执行函数写法理解 javascript和其他编程语言相比比较随意,所以javascript代码中充满各种奇葩的写法,有时雾里看花,当然,能理解各型各色的写法 ...
- 如何在 C#9 中使用 static 匿名函数
匿名函数 在 C# 中已经出现很多年了,虽然匿名函数用起来很爽,但代价是不小的,为了避免不必要那些你意想不到的内存分配,这就是为什么 C#9 中引入 static 匿名函数的原因,这篇文章我们将会讨论 ...
- main.js中封装全局登录函数
main.js中封装全局登录函数 1. 在 main.js 中封装全局登录函数 通过 vue 对象的原型扩展,可以扩展一个函数,这样这个函数就可以在 每一个界面通过类似指向对象的方式,去访问这个函数. ...
- java 匿名函数_Java中的lambda匿名函数使用
Java中的lambda匿名函数使用 lambda匿名函数的使用是为了满足某些情况下需要临时定义函数,或者事先定义,需要时才使用.在python里面,lambda表达式的表达方式为:lambda 参数 ...
- 一木.溪桥学Python-09:函数的返回值、函数的作用域、作用域的优先级、递归函数、内置文件中常用方法、匿名函数lambda、高阶函数
一木.溪桥 在Logic Education跟Amy学Python 12期:Python基础课 一木.溪桥学Python-09:函数的返回值.作用域.作用域的优先级.递归函数.内置文件中常用方法.匿名 ...
- php7 $this-,在PHP中如何为匿名函数指定this?
在之前的文章中,我们已经学习过匿名函数的使用,没有看过的小伙伴可以进入传送门先去了解下闭包匿名函数的用法,传送:还不知道PHP有闭包?那你真OUT了. 关于闭包匿名函数,在JS中有个很典型的问题就是要 ...
- js中的对象、函数定义以及形参和实参
一.对象属性的两种写法 1.点语法 点语法的属性值不加双引号,运用时不能使用变量 2.中括号的写法 (1)中括号写法obj["key"]=value;必须有双引号,原因是在key这 ...
- js中自己实现bind函数的方式
前言 最近由于工作比较忙,好久都没时间静下心来研究一些东西了.今天在研究 call 和 apply 的区别的时候,看到 github 上面的一篇文章,看完以后,感觉启发很大. 文章链接为 https: ...
- 【Python】Python中的lambda匿名函数
语法格式: lambda params:expr 注意事项: lambda只是一个表达式,函数体比def的简单很多. lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装 ...
- js中构造函数与普通函数的区别
构造函数不仅只出现在JavaScript中,它同样存在于很多主流的程序语言里,比如c++.Java.PHP等等.与这些主流程序语言一样,构造函数在js中的作业一样,也是用来创建对象时初始化对象,并且总 ...
最新文章
- asp.net 域名欺骗式开发
- github入门必备概念
- StringBuider 在什么条件下使用效率更高?
- StarUML 破解方法2.X(转)
- controller属于哪一层_别急着换5G,4G手机同样值得考虑!哪几款安卓手机称得上4G机皇?...
- 软件测试管理工具禅道开源版下载安装
- 【干货】卷积神经网络Alex-Net、VGG-Nets、Network-In-Network案例分析
- golang笔记(1)-数据库查询结果映射至结构体
- 通过jQuery设置全局Ajax加载时呈现Loading
- 跳过授权列表--skip-grant-list--案例
- 项目管理-产品开发流程
- php 去除单引号,php如何去除双引号
- 排序算法lowB三人组
- Mac无法打开CORE Keygen
- Go语言核心之美-必读
- DateTimePicker
- 通往财富自由之路详细笔记(17)
- python输入某年某月输出天数_编写程序计算某年某月的天数.输入年份year和月份month,输出该月份的天数...
- Android版本铎A梦幻连连看游戏源代码完整版
- 过渡——CSS3动态效果 过渡属性