文章详情页
javascript - 这段js代码是怎么理解?
浏览:175日期:2023-05-17 14:07:32
问题描述
我的疑惑是把这个函数包起来的括号是啥意思,闭包?然后还在方法后面的这个(1)是将参数1带入这个匿名方法?这个小括号的词法是执行的意思还是隔离方法?
问题解答
回答1:立即执行的意思,传入参数1
(function(x){})(1)回答2:
这是一个立即执行函数,立即执行函数构造了一个函数作用域,可以起到隔离的作用,避免污染全局作用域,传入1是传入参数,立即执行函数与可以用于解决闭包问题。但是和闭包并没有直接联系。
回答3:匿名函数没有函数名,无法调用,括号把函数声明括起来,就不再是一个函数声明,而是一个函数表达式。后面加()也就是是立即执行该函数,1是参数,由里面的x来接收。你可以理解为
var foo = function(x){ delete x; return x;};foo(1);
标签:
JavaScript
相关文章:
1. python - 求一个在def中可以实现调用本def满足特定条件continue效果的方法(标题说不太清楚,请见题内描述)2. $fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题3. MYSQL新建用户设置可以远程访问的问题4. node.js - nodejs和前端JavaScript 字符串处理结果不一样是什么原因?5. java - mybatis怎么实现在数据库中有就修改,没有就添加6. mysql - 我的myeclipse一直连显示数据库连接失败,不知道为什么7. linux - 为什么我在mysql的my.cnf下找不到bind-address?8. MySQL中的enum类型有什么优点?9. mysql多表联合查询优化的问题10. 数据库设计 - MySQL数据库主键问题
排行榜
![$fields = $values = [];这条代码一直定义不了,一直报错,老师的源码也是被报错的,执行不了,请问该怎么解决这个问题](http://www.haobala.com/attached/image/news/202205/093622cb60.png)