js 匿名函数 用法】的更多相关文章

JS执行顺序为从上到下 先声明存储匿名函数的变量放在JS文件中 <script src="/Scripts/niming.js" type="text/javascript"></script> var dononamefuc = function (p) { return '操作' + p; } 也可以重写匿名函数方法体 dononamefuc = function (p) { return '重写操作' + p; } 以下为调用页面执行逻…
js匿名函数的代码如下:(function(){ // 这里忽略jQuery 所有实现 })(); 半年前初次接触jQuery 的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我就迷糊了.为什么只有一个匿名函数又没看到运行(当然是运行了…… ),就能有jQuery 这么个函数库了?于是,我抱着疑问来到CSDN .结果相信现在很多人都很清楚了(因为在我之 后也不乏来者,呵呵~ ).当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名函数就能立即运行起来!真神奇哦…
<body onload="alert('http://www.baidu.com/');"> <script type="text/javascript"> void function() { alert('弹出框'); }(); </script> </body> <body onload="alert('http://www.baidu.com/');"> <script t…
JS匿名函数自执行函数:(function(){})();(function(){}) 这是一个函数,函数后面接(),则是调用函数 比如(function(arg){console.log(arg);})(4);   则输出4 好处:放在里面,不会污染外面的变量,也保护了自己,外面调用不了里面的函数和变量.在js中写大量代码,可以防止变量冲突和错误调用. 插件常用的是( function ($ ) {// 插件代码} ) (jQuery ) ; 这样的好处是可以在函数内自由使用$,不用担心跟别的…
js匿名函数和闭包总结 一.总结 一句话总结:匿名函数的最主要作用是创建闭包,闭包就是将函数内部和函数外部连接起来的一座桥梁.内层的函数可以使用外层函数的所有变量,即使外层函数已经执行完毕.闭包可以用来模仿块级作用域等等. 匿名函数 闭包 1.js匿名函数基本格式? 匿名函数 赋值 变量 立即执行 匿名函数 ()() return 匿名函数 没有名字 可以赋值 //情况1.把匿名函数赋值给变量 var fn=function (){ alert('我是匿名函数') } alert(fn) //会…
js匿名函数(变量加括号就是函数) 一.总结 变量加括号就是函数,而函数的括号是用来传参的 1.类比:以正常函数去想匿名函数,匿名函数比正常函数只是少了函数名,本质还是一样,该怎么传参还是怎么传参,小括号用于传参,小括号用于将变量变成函数 二.要点 匿名函数 没有函数名字的函数 单独的匿名函数是无法运行和调用的 可以把匿名函数赋值给变量 通过表达式自我执行,语法:(匿名函数)() 匿名函数传递参数,语法:(匿名函数)(参数) 三.代码 <!DOCTYPE html> <html lang…
js匿名函数测试 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js匿名函数测试</title> </head> <body> <input type="button" value="点击" id="btn"> <script type=&q…
匿名函数的基本形式为(function(){...})(); 前面的括号包含函数体,后面的括号就是给匿名函数传递参数并立即执行之 匿名函数的作用是避免全局变量的污染以及函数名的冲突   1.小括号的作用 小括号能把我们的表达式组合分块,并且每一块,也就是每一对小括号,都有一个返回值.这个返回值实际上也就是小括号中表达式的返回值.所以,当我们用一对小括号把匿名函数括起来的时候,实际上小括号对返回的,就是一个匿名函数的Function 对象.因此,小括号对加上匿名函数就如同有名字的函数般被我们取得它…
先提个问题, 单独写匿名函数为什么报错?return 匿名函数 为什么不报错? 如图: 第二种情况在 f 还没有执行的时候,就报错了,,,当然这得归因于函数声明语句声明提前(发生在代码执行之前)的原因: 先说下高程下匿名函数的定义: 匿名函数(anonymous function),function 关键字后面没有标识符,(匿名函数有时候也叫拉姆达函数.)匿名函数的name 属性是空字符串. 在把函数当成值来使用的情况下,都可以使用匿名函数. 回答开头的问题: 单独写匿名函数为什么报错? 高程上…
JS引擎在遇到function关键字时做如下两种处理: 1.当语句是以function关键字开头:此时的JS语句解释为函数声明,因此function关键字后面必须要跟函数名字,如果写成匿名函数,则会报错.即匿名函数不能出现在语句的开头. 2.当语句不是以function关键字开头:此时匿名函数是作为表达式的一部分. 因此,在写匿名函数自执行的时候,不能以function作为语句开头,而只能把它作为表达式的一部分,比如加上(),+,-等操作符. 参考:https://www.cnblogs.com…
1.任何函数都是有返回值的,没有返回值的,在某些语言里称之为过程例如PL/SQL 2.js中的函数如果没有return 关键字指明给出的返回值,那么当调用完函数后,会返回“undefined"关键字 3.js中传递的参数不会检测类型,如果对类型十分明确,请用typeof()来对传入的参数进行检测. 4这种匿名函数会在生成后,直接调用: alert((function(x){return x*x})(10)); 格式大概为:第一个括号内包含函数定义,第二个括号为传入函数的参数. 5.参数的设定可以…
<script type="text/javascript"> $(function () { $("#btn").mousedown(function () { $("p").slideToggle(); alert("btn"); }); }); $(function () { $("p").mouseenter(function () { $("p").css(&quo…
一.声明: 1. 正常函数声明: //正常函数声明 function foo(p1, p2){ return p1+p2; } 2. 匿名函数声明: //匿名函数声明 var foo= function(p1, p2){ return p1+p2; } 二.返回值: 匿名函数的返回值是一个Function对象的引用. 三.含义: 上述匿名函数代码的含义为将Function对象的一个引用赋值给变量foo. 四.相同点: 生成一个没有名称的函数体(Function对象)之后,再赋予其一个名称.…
其实就是将函数直接做为表达调用,使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数. 常见格式:(function() { /* code */ })(); 解释:包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数. 作用:可以用它创建命名空间,只要把自己所有的代码都写在这个特殊的函数包装内,那么外部就不能访问,除非你允许(变量前加上window,这样该函数或变量就成为全局).各JavaScrip…
例子没有什么实际意义,只能做为思路参考 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <script> function ck(a) { console.log(a); return function(b) { console.log(b); return f…
function () { alert("error"); } //报错:匿名函数不能直接调用 使用 0x01 (function () { alert("Success"); })()//直接使用 0x02 var anonymous=function () { alert("success"); } anonymous();//赋值调用 传参 0x01 (function (m,n) { return m+n; })(10,20)//直接使用…
var rs = (function (value) { if (value > 1) return value * arguments.callee(value - 1); return value; })(3); console.log(rs); arguments.callee:当前函数对象,使用此对象即可实现匿名函数递归调用,当然,非匿名函数也能使用此对象.…
Javascript中定义函数的方式有多种,函数直接量就是其中一种.如var fun = function(){},这里function如果不赋值给fun那么它就是一个匿名函数.好,看看匿名函数的如何被调用. 方式1,调用函数,得到返回值.强制运算符使函数调用执行 1 2 3 4 (function(x,y){     alert(x+y);     return x+y; }(3,4)); 方式2,调用函数,得到返回值.强制函数直接量执行再返回一个引用,引用再去调用执行 1 2 3 4 (fu…
我们知道,在创建一个函数时如果要用到变量来存取信息的话,要尽量使用局部变量. 因为一方面局部变量会随着函数的执行结束被销毁:另一方面在不执行函数的时候也不会创建这个局部变量,对节省空间资源有很大的好处. 下面我们来看一个案例: var num = 1; //全局变量num function a() { console.log(num); } function b() { console.log(num); } a(); //调用函数a,结果会在控制台打印1 b(); //调用函数b,结果会在控制…
http://www.jb51.net/article/79238.htm 1 闭包允许内层函数引用父函数中的变量,但是该变量是最终值 当mouseover事件调用监听函数时,首先在匿名函数( function(){ alert(i); })内部查找是否定义了 i,结果是没有定义:因此它会向上查找,查找结果是已经定义了,并且i的值是4(循环后的i值):所以,最终每次弹出的都是4.…
匿名函数: <script type="text/javascript"> function (参数列表){ 要执行的语句块; } </script> 对象是JavaScript的特性之一,它是一种非常重要的数据类型,是自我包含的数据集合.这里介绍两个实用的具体对象Date和Math. 创建Date对象方法 new Date() new Date(yyyy,month,dd hh:mm:ss) new Date(yyyy,mth,dd,hh,mm,ss) new…
js立即执行函数写法理解 这篇真的写得很清楚了,不光括号可以将函数声明转换成函数表达式然后立即执行,!,+,-,=也都可以转换,但是可能会带来意外的结果,因此一般都用括号实现. 还有关于for (var i = 0; i < 10; i++){alert(i)}最后输出全为最终值的问题,知乎的这个问题的第一个回答很好,知乎-js关于for循环中的闭包问题…
语法 lambda argument_list: expression argument_list是参数列表 expression是一个关于参数的表达式.表达式中出现的参数需要在argument_list中有定义,并且表达式只能是单行的. lambda函数有输入和输出:输入是传入到参数列表argument_list的值,输出是根据表达式expression计算得到的值. 例如: lambda x, y: xy:函数输入是x和y,输出是它们的积xy lambda:None:函数没有输入参数,输出是…
1 创建Date对象,用于处理日期和时间 var date=new Date(); Date对象会把当前日期和时间保存为初始值. 还可以设置其它参数初始化 Date对象: new Date("month dd,yyyy hh:mm:ss"); new Date("month dd,yyyy"); new Date(yyyy,mth,dd,hh,mm,ss); new Date(yyyy,mth,dd); new Date(ms); new Date("yy…
一.split定义:split() 方法用于把一个字符串分割成字符串数组, 返回值: 一个字符串数组. 二.基本用法:stringObject.split(separator,howmany) 1.参数 描述     separator 必需.字符串或正则表达式,从该参数指定的地方分割 stringObject.     howmany 可选.该参数可指定返回的数组的最大长度.如果设置了该参数,返回的子串不会多于这个参数指定的数组.如果没有设置该参数,整个字符串都会被分割,不考虑它的长度. 2.…
定义和用法 replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. 语法 stringObject.replace(regexp/substr,replacement) 实例 例子 1 在本例中,我们将使用 "W3School" 替换字符串中的 "Microsoft": <script type="text/javascript"> var str="Visit Microsoft…
<html> <head> <title> test </title> </head> <body> <script type="text/javascript"> (function (){ //局部变量 var a=1; var b=3; alert(a+b); })(); //undefinded alert(a); </script> </body> </html&…
<script type="text/javascript"> var My_func = function(name){   this.obj_name=name;   this.func1=function(id){ alert(id); alert(this.obj_name); } }   var My_ajax={ "name":"kevin!", "debug":function(tel){ alert…
http://www.cnblogs.com/chenxianbin89/archive/2010/01/28/1658392.html…
var res = (function (n) {    if( n>1 ) {        return n + arguments.callee( n-1 );    } else {        return 1;    }})(100)console.log(res);…