最近做项目遇到了这个问题,顺便记录下来!
网上找了下资料理解理解,给出我的理解如下:
问题1:
(function() {})():这function() {}表示的是一个匿名函数,而()则包裹着function() {},()表示的是拥有最高级的优先执行权,即会优先执行function() {}这个匿名函数。最后的(),则表示的是执行完function()
{}后,立即调用这个func...
分类:
其他好文 时间:
2015-03-11 14:55:16
阅读次数:
188
测试例子:
var xx = (function() {
(function() {
alert(9)
})();
alert(10)
return "yyyy";
})();
调用:
alert(xx);
在调用的时候,你会发现只弹出"yyyy"信息,并不见弹出"10"的信息!这也就是说,这个匿名函数只在立即调用的时候执行一次,这时它已经赋予了给xx...
分类:
其他好文 时间:
2015-03-11 14:49:50
阅读次数:
180
//在jQuery匿名函数中,采用jQuery.extend();方法创建jQuery插件//在jQuery匿名函数中, 采用对象.属性 = 函数的方式创建jQuery插件(function ($) { jQuery.extend({ jia: function (a, b) {...
分类:
Web程序 时间:
2015-03-11 12:40:06
阅读次数:
266
函数是JS里很神奇的一位童鞋。那么如何创建一个函数呢?简单来说有下面几种形式: 1、定义式 function a() {} 2、声明式 var a = function() {}; // 把一个匿名函数赋给一个变量 3、构造函数 var a = new Function(); // 用Functio...
分类:
Web程序 时间:
2015-03-11 12:34:40
阅读次数:
156
Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数。通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数。Lambda 表达式对于编写 LINQ 查询表达式特别有用。若要创建 Lambda 表达式,需要在 Lambda 运算符=>左侧指定输入参数.....
分类:
其他好文 时间:
2015-03-10 12:00:10
阅读次数:
149
--sort中的匿名函数中的grades称为外部局部变量,或者upvalue--函数内部定义的函数可以访问函数的变量--这个就是简单的闭包--function sortbygrade (names, grades)-- table.sort(names, function(n1, n2)-- ...
分类:
其他好文 时间:
2015-03-09 22:08:22
阅读次数:
102
六、函数表达式 //把函数当成值来使用的情况下,都可以使用匿名函数递归//递归函数是在一个函数通过名字调用自身的情况下构成的//使用函数声明来定义递归函数可能会出现问题//这是一个经典的递归阶乘函数function factorial(num) { if (num<1){ return 1...
分类:
编程语言 时间:
2015-03-09 09:19:07
阅读次数:
187
模仿块级作用域 1 function box() 2 { 3 //包含在我执行的匿名函数,就可以实现私有作用域 4 (function() 5 { 6 ...
分类:
编程语言 时间:
2015-03-06 06:13:49
阅读次数:
175
匿名函数 1 //把匿名函数赋值给变量 2 var box=function() 3 { 4 return 'Lee'; 5 } 6 7 // 匿名函数自我执行来执行匿名函数 8 (function() 9 {10 alert...
分类:
编程语言 时间:
2015-03-05 19:04:19
阅读次数:
197
★★★★来看一个经典的例子 1 //想实现的是 arr[0]=0,arr[1]=1,arr[2]=2...arr[4]=4 2 function box() 3 { 4 var arr=[]; 5 6 ...
分类:
编程语言 时间:
2015-03-05 18:58:22
阅读次数:
181