请教:js中的()中一个函数是什么语法,有什么作用?

askquestion1 2011-11-12 02:16:21
例如json.js中,

var JSON;
if (!JSON) {
JSON = {};
}

(function () {
'use strict';

...
);


红色部分是什么含义啊!求解,谢谢!
...全文
128 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
默默不得鱼 2011-11-12
  • 打赏
  • 举报
回复
后面加个()表示前面这个方法体立即执行
hh161151 2011-11-12
  • 打赏
  • 举报
回复
这种写法的好处是避免全局变量,例如你的例子中的function f(n)函数,假如以后这个页面有另外的人不知道有这个函数,他也写了个函数,也叫function f(n),这不就重复了吗,是不是就破坏了你原先写的了,那么通过(function(){})()这种写法就避免了这种情况,里面定义的变量,函数只在这个里面。
askquestion1 2011-11-12
  • 打赏
  • 举报
回复
完整的类似下面的,json.js

var JSON;

if (!JSON) {
JSON = {};
}

(function () {
'use strict';

function f(n) {
// Format integers to have at least two digits.
return n < 10 ? '0' + n : n;
}

}());

直接用语句写不是也可以吗?为什么要用这种古怪的方式
askquestion1 2011-11-12
  • 打赏
  • 举报
回复
那一般处于什么目的这么写?
licai1210 2011-11-12
  • 打赏
  • 举报
回复
闭包,可以用来保存临时变量的值

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧