js笔记:匿名函数】的更多相关文章

;(function(){ alert('啥也没做');})(); 会弹框. 这是个匿名函数.最前面的分号可以去掉,仅仅是在代码压缩时防止出错. 该函数可以拆解成非匿名函数: var a= function(){ alert('啥也没做');} ;(a)(); 去掉分号和括号,拆解的函数实际是: a(); 分号后面的那个包含a的括号其实按道理也是可以去掉的,但是语法解析器会报错: ;function(){ alert('啥也没做');}(); VM243:2 Uncaught SyntaxErr…
首先js 有DOM0 和DOM2级事件 DOM 0级事件处理一般是直接把一个函数分配给一个事件处理程序,既可以在元素中直接分配一个事件处理程序 一个元素可以绑定多个事件 DOM0: <div id='box' onclick= 'fun1() fun2()'></div> DOM2: var box = document.getElementById('box'); box.onclick = fun1(); function fun1(){ alert("hello!&…
所谓js匿名函数就是当用户一打开页面时不等到文档加载完就会执行里面的代码,语法如下: (function(){})(); js的onload函数代码如下: <!DOCTYPE html><html> <head>        <meta charset="utf-8">        <title></title>    </head><script>            var btn…
参考 http://www.educity.cn/wenda/54753.html 已实验验证结果正确. 1.下列哪些正确?(B.C) A.function(){ alert("Here!"); }(); B.(function(){ alert("Here!"); })(); C.(function(){ alert("Here!"); }()); 下面也已经实验验证结果正确. 2.下列哪个结果是正确的?(A.B.C.D) A.(functio…
今天碰到一道题,里面既包含了匿名函数的知识,也包含了预编译,函数的传参(形参),感觉迷迷糊糊的,所以想着做个总结. var foo={n:1}; (function(foo){ console.log(foo.n); foo.n=3; var foo={n:2}; console.log(foo.n); })(foo); console.log(foo.n); 上面的代码,可以写成这样,看解释 var foo={n:1}; (function(foo){ //此时形参和实参指向相同的内存空间,且…
“$(function(){ });” Jquery语法的匿名函数,用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在: (通过这样就可以在页面加载完成时通过ajax再异步加载一些数据) “(function(){})();”用于存放开发插件的代码,执行其中代码时DOM不一定存在; (用于在内容加载时或加载前加载) 举例: 该例子在浏览器中运行的时候会报错,究其原因(function(){...})()函数的执行时机并不是在DOM加载完毕后才执行,而是随着页面自上而下来执行 <html…
匿名函数以及闭包 匿名函数就是没有名字的函数.闭包是指有权访问另一个函数作用域中的变量的函数.创建闭包的常见方式是在一个函数的内部创建另一个函数.闭包会携带包含它的函数的作用域,因此会比其他函数占用更多的内存,因此尽量少用闭包.闭包只能取得包含函数中任何变量的最后一个值.闭包的作用域包括它自己的作用域,包含函数的作用域,全局作用域. 每个函数在调用时,其活动对象都会自动取得两个特殊变量:this和arguments.内部函数在搜索这两个变量时,只会搜索到其活动对象(包含函数)为止,不会访问到外部…
小哥最近很是心烦啊,不仅仅要继续以现任前端小白,未来前端攻城狮的身份苦逼学习,还要用剩余的时间去完成毕业设计.早知如此,当初我为毛要报考数学这么个苦逼专业....昨天一整天的时间在研究毕设,感觉代码已经不认识我了...今天在学习中,突然发现了匿名函数的调用方法.原以为匿名函数是个高冷的生物,只有如下这一种调用方法: (function() { alert('water'); })(); 当然了...设参数跟上面是一样的方法: (function(i) { alert(i); })('water'…
推荐博客:https://www.cnblogs.com/pssp/p/5216668.html 函数是必须要有函数名的,不然没有办法找到它,使用它. 如果没有名字必须要有一个依附体,如:将这个匿名函数赋值给一个变量或是一个事件. 当调用变量,或是执行事件时,该函数会被调用. 可以直接通过 function func(){ 代码块 } 来创建一个函数,此时调用可以通过func():来调用. 区分匿名函数最简单的方法:就是看有没有函数名. 所谓匿名函数,就是没有函数名的函数,那么调用它可以有以下两…
匿名函数: 通过这种方式定义的函数:(没有名字的函数) 作用:当它不被赋值给变量单独使用的时候 1.将匿名函数作为参数传递给其他函数 2.定义某个匿名函数来执行某些一次性任务 var f = function (a) { return a; }; 回调函数: function invokeAdd(a, b) { return a() + b(); } function one() { return 1; } function two() { return 2; } invokeAdd(one,…
匿名函数在声明时不用带上函数名, 可以把匿名函数当作一个function类型的值来对待 声明一个普通的函数 function func() { ... } 可以认为和var func = function() { ... };相同, 但是普通函数会自动把函数名"提到"作用域的最前面, 基本上普通函数和匿名函数就只有这一个区别 1 2 3 4 5 6 7 function xxx() {     foo(); //foo被提到了作用域的最前面, 于是这里可以正常调用foo函数     b…
匿名函数没有实际名字,也没有指针,怎么执行? 关于匿名函数写法,很发散~ +号是让函数声明转换为函数表达式.汇总一下 最常见的用法: 代码如下: (function() {  alert('water');  })();    当然也可以带参数: 代码如下: (function(o) {  alert(o);  })('water');    想用匿名函数的链式调用?很简单: 代码如下: (function(o) {  console.log(o);  return arguments.call…
当函数很简单的时候采用匿名函数很方便.…
1.运算符 1.位运算符 将数字转换为二进制后进行运算 只做整数运算,如果是小数的话,则去掉小数位再运算 2.位运算 1.按位 与:& 语法:a&b; 2.按位 或| 语法:a|b 任何场合:任何小数与0做按位或的操作,可以快速转换为整数(并四舍五入) 3.按位 异或:^ 语法:a^b 3.赋值和扩展赋值运算符 1.赋值运算符:= 2.扩展赋值运算符 +=,-=,*=,/= 3.条件运算符(三目运算) 单目(一元)运算符:++,--,! 双目(二元)运算符:+,-,*,/,%,<,&…
今天有项目需要用到JS的递归,开始按照php的实现方法,发现不行,后来只能使用arguments.callee. 简单的例子,如下 var act = 'if(num <= 1){return 1;} else {return (num * arguments.callee(num-1));}'; var Factorial = new Function('num', act); document.writeln(Factorial(8));…
//匿名方法,会执行,自己调用自己 (function () { console.log(window.innerHeight); })(); (function () { console.log(window.innerHeight); })(window); //传递参数 (function (x, y) { console.log(x); console.log(y); })(5, 6); //自定义方法 $.myFun = { aa: function (param) { console…
234567891011121314151617181920212223242526272829303132333435 闭包 闭包:闭包是指有权访问另一个函数作用域中的变量的函数 函数嵌套一个函数,并且函数内部的函数可以访问到外部函数的变量, 注意:变量会驻留在内存中,不会被回收:所以闭包少用 //一个简单的闭包function show(){ var userName = "胖胖"; return function(){ return userName; }}var fin = s…
大方向上: JS 是按照 代码块 进行 编译.执行 的. 学习至: 1.变量声明提升 2.新唐的博客 3.js中匿名函数的创建与调用方法分析 4.前端圣经 - <高程三> 5.深入理解变量声明提升和函数声明提升 因为没有好好地分类.可能会比较杂.为了系统地学习,先了解几个概念. 一. <script> 区分的代码块. JS是按照代码块 编译 和 执行的.代码块间 相互独立,但是 变量和方法 共享. <script> alert('代码块一'); </script&…
C#有lambda.匿名函数,js有匿名函数.闭包,OC中有block,看到这是不是心中有一万个草泥马在跑,不过它们这些都是换汤不换药,不同语言名字不一样. 从功能性上说lambda和closure(或是OC中的blocks)是一个东西,只是不同语言的不同称呼罢了,它们都是匿名函数.若匿名函数捕获了一个外部变量,那么它就是一个closure. 为什么会有这个东东呢? 使用它们一般会有两个好处:简洁.捕获变量. 1.简洁 比如一个方法只在这一处使用,我们就没有必要创建方法然后调用,我们可以直接在其…
函数基础 1. 速查笔记 #-- 函数相关的语句和表达式 myfunc('spam') # 函数调用 def myfunc(): # 函数定义 return None # 函数返回值 global a # 全局变量 nonlocal x # 在函数或其他作用域中使用外层(非全局)变量 yield x # 生成器函数返回 lambda # 匿名函数 2. 函数的好处 代码复用.保持代码一致性.可扩展性 函数的参数 1. 速查笔记 #-- 函数参数,不可变参数通过“值”传递,可变参数通过“引用”传递…
拷贝传值:把一个变量的值拷贝一份,传给了另外一个变量拷贝传值中,两个变量之间没有任何联系,修改其中一个一个变量的值,原来的变量不变. 例: var arr1 = ["张三",24,"大专"]; //定义一个二维数组:   var arr2 = arr1;//将arr1的地址传给arr2,(不传递实际参数)   arr1[1] = 30;//改变arr1中的24等于30:   alert(arr2[1]);//输出arr2[1]; 引用传址: 例: var arr =…
“JavaScript设计得最出色的就是它的函数的实现.” -- <JavaScript语言精粹> 函数包含一组语句,它们是JS的基础模块单元,用于指定对象的行为.一般来说,所谓编程,就是将一组需求分解成一组函数与数据结构的技能. 1.函数的功能 代码重复性使用 模块化编程 2.语法: 使用函数前要先定义才能使用 函数定义有三个部分:函数名,参数列表,函数体 格式: function 函数名([参数1, 参数2, ...]){ 函数执行部分; return 表达式; } 例如: <scr…
1. 函数的 声明 1) 声明式写法 function j1(id){ alert(id); } 2) 声明匿名函数变量 var j2 = function (a, b) { alert(a + " " + b); }; 3) 实例化函数对象 var j3 = new Function("a", "b", "alert(a+' '+b);");//大写,为内置函数// 前面几个是参数名(个数无限制),最后一个是函数体 函数声明…
摘要 有时使用js写了一个匿名方法,需要立即执行.因为没有方法名称,无法在其它地方调用. 匿名函数 匿名函数,可以认为是没有方法名称的函数. js中如果想执行匿名函数,结构如下: (function () { //逻辑代码 })() 使用()将匿名函数括起来,后面再加一对小括号(包含参数列表). 例如: alert((function (x, y) { return x + y; })(2, 3)); 命名函数自调用 (function myfunc() { alert("23333"…
第一种: var f1=function(p1,p2){ return p1+p2; };//将函数赋值给一个变量 alert(f1(1,3)); 匿名函数没法调用,只能赋值给一个变量,由于是赋值语句,后面要加分号 应用: ///document.getElementById(‘btn’).onclick=function(){} 第二种(*): (function(p1,p2){alert(p1+p2);})(20,30); 直接声明一个匿名函数,立即使用.用匿名函数省得定义一个用一次就不用的…
3.1 先看下面的事例: ①var temp=0; ②temp=0; 当js解析器检测到①这种情况的时候,解析器会为这个变量开辟一个内存空间,如果前面已经存在这个变量,就会把这个变量覆盖掉. 当解析器检测到①这种情况的时候,解析器会寻找当前对象的父级对象有没有这个变量,以此查找,只到找到位置:如果还找不到,就会在windows对象里定义这个变量. 再看下面例子 ①function f() { var _temp = 0; console.log(_temp); } f(); console.lo…
js匿名函数的代码如下:(function(){ // 这里忽略jQuery 所有实现 })(); 半年前初次接触jQuery 的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我就迷糊了.为什么只有一个匿名函数又没看到运行(当然是运行了…… ),就能有jQuery 这么个函数库了?于是,我抱着疑问来到CSDN .结果相信现在很多人都很清楚了(因为在我之 后也不乏来者,呵呵~ ).当一个匿名函数被括起来,然后再在后面加一个括号,这个匿名函数就能立即运行起来!真神奇哦…
JS匿名函数自执行函数:(function(){})();(function(){}) 这是一个函数,函数后面接(),则是调用函数 比如(function(arg){console.log(arg);})(4);   则输出4 好处:放在里面,不会污染外面的变量,也保护了自己,外面调用不了里面的函数和变量.在js中写大量代码,可以防止变量冲突和错误调用. 插件常用的是( function ($ ) {// 插件代码} ) (jQuery ) ; 这样的好处是可以在函数内自由使用$,不用担心跟别的…
/*最流行的写法*/ (function() { alert("run!") })(); /* !号可以有1~正无穷个,所以这一种就可以衍生无数种方式 */ !!!(function() { alert("run!") })(); (function() { alert("run!") }).call(); (function() { alert("run!") }).apply(); (function() { alert(…
函数声明 JavaScript中声明函数的方式:(无需声明返回值类型) function add(i1, i2) {             return i1 + i2;//如果不写return返回的是undefined         } int add(int i1,int i2)//C#写法 不需要声明返回值类型.参数类型.函数定义以function开头.         var r = add(1, 2);         alert(r);         r = add("你好&q…