javascript里面的定义问题

[复制链接]
查看11 | 回复4 | 2013-3-24 12:45:38 | 显示全部楼层 |阅读模式
这种写法叫立即执行函数。一般我们定义一个函数,如:function A(){ alert('s');}这个函数不会执行,如果需要定义完一个函数,马上执行。就要写成这样的:(function A(){alert('s');})();最后面的小括号表示调用的意思,函数被一个括号包裹起来表示这是一个整体,如果没有这个括号,js引擎可能以为这个是函数声明。这种写法并不是唯一的。!function A(){alert('s');}();-function A(){alert('s');}();+function A(){alert('s');}();~function A(){alert('s');...
回复

使用道具 举报

千问 | 2013-3-24 12:45:38 | 显示全部楼层
如果不跟 后面的括号的话 db 就是一个 函数(function)而加上括号的话,就是一个 执行会返回结果值,而不是一个function 这么做的目的是为了 将 function(key, val) {
if (val === undefined) { return data[key] } // get
else { re...
回复

使用道具 举报

千问 | 2013-3-24 12:45:38 | 显示全部楼层
这是一个封装的过程- -var xxx = (function(){xxxx})();和var xxx = function(){};的区别是,第一个var xxx= (function(){xxxx})();会执行一次该括号内部的这个函数,并且把返回值赋值给左边的变量第二个var xxx = function(){};是直接把右边的这个...
回复

使用道具 举报

千问 | 2013-3-24 12:45:38 | 显示全部楼层
就是执行这个函数的,db等于function()的返回值。也就是return的东西...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行