<script>
(function(){
var bp = document.createElement('script');
bp.src = '//push.zhanzhang.baidu.com/push.js';
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
})();
</script>
跟 下面的写法有什么不同么? 为什么非得要用(function(){ ... })() 这么奇怪的写法?这样写有什么好处?
<script>
var bp = document.createElement('script');
bp.src = '//push.zhanzhang.baidu.com/push.js';
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(bp, s);
</script>
1 分析: 函数为何要有名字? 是为了方便下次使用. 匿名函数, 即没有名字.
2 用途: 通常不希望再次使用(即只使用一次的)的函数可以定义为匿名函数.
3 使用示例:
// 定义并使用一个匿名函数来打印从1到10的整数4 扩展: 当然, 如果还是想再次使用匿名函数的话, 也有方法. 即把匿名函数赋给一个变量(funtion类型的变量), 想再次使用时, 使用该变量来调用即可.示例如下:
5 运行效果果图如下:
图1
图2
1、配合var关键字,匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染。这在给一个不是很熟悉的页面增加Javascript时非常有效,也很优美。
2、《Javascript的一种模块模式》中的第一句话就是“全局变量是魔鬼”。配合var关键字,匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染。这在给一个不是很熟悉的页面增加Javascript时非常有效,也很优美。实际上,YUI以及其相应的范例中大量使用匿名函数,其他的Javascript库中也不乏大量使用。Javascript的函数式编程(functional programming)的基石。具体请看《用函数式编程技术编写优美的 JavaScript》和《函数式JavaScript编程指南》。
3、要说匿名函数,我们首先要由函数本身说起。函数的定义如下:函数是将唯一的输出值赋予给每一输入的“法则”。当然,这只是数学上的定义。但是,在计算机编程语言中,函数的定义也八九不离十。因为我们都知道,计算机中的函数,也类似数学定义中的描述,它是将输入的若干数据,经过代码设定的逻辑操作处理后,返回唯一的输出的一组代码组合块。——当然,特例是,输入的数据为空或输出的数据为空,或者两者都为空。
本回答被网友采纳搞明白JavaScript中的匿名函数
模仿块级作用域:JavaScript中没有块级作用域,变量会随作用域的结束而销毁。通过匿名函数可以模拟块级作用域。实现步骤如下:1. 通过匿名函数创建闭包。闭包允许访问函数作用域内的变量,并在函数外部使用。闭包的创建往往依赖于匿名函数。2. 模拟块级作用域,减少全局变量的使用。执行完毕后,相关变量被...
javascript中:(function(){})();如何理解?
在JavaScript中,函数可以定义为匿名,即没有名字的函数。匿名函数常常用于一些临时的、不需要重复调用的场景。它们可以在定义之后立即被执行,也可以被赋值给变量,以后通过变量来调用。二、函数表达式与IIFE 函数表达式是JavaScript中定义函数的一种方式。而IIFE则是一种特殊的用法,它允许你在定义一个函数后...
什么是匿名函数
匿名函数在JavaScript中是一种没有名称的函数,可以直接被定义和使用,无需引用函数名。匿名函数定义有两种方式:函数表达式和箭头函数。匿名函数常见用途包括临时定义函数并立即调用它。由于匿名函数没有名字,调试和异常追踪可能较困难。建议在开发中给函数命名,提高代码可读性和维护性。函数定义有两种类型:...
javascript中: (function(){})();如何理解?
javascript中: (function(){})()是匿名函数,主要利用函数内的变量作用域,避免产生全局变量,影响整体页面环境,增加代码的兼容性。(function(){})是一个标准的函数定义,但是没有复制给任何变量。所以是没有名字的函数,叫匿名函数。没有名字就无法像普通函数那样随时随地调用了,所以在他定义完成后就...
javascript中: (function(){})();如何理解?
匿名函数有多种应用场景,例如作为事件处理程序,创建闭包等。与函数声明`function setFn() { ... }`不同,函数表达式`var setFn = function() { ... }`虽然也定义了函数,但这里函数是赋值给一个变量的,使其具有名称。而直接使用`function() { ... }`的方式就是典型的匿名函数表达式。总...
JavaScript 匿名函数\/lambda表达式的一次使用
结论是,JavaScript中的匿名函数\/lambda表达式可以巧妙地用于实现递归,无需显式命名函数。让我们通过一个求阶乘的例子来说明。在递归中,关键在于函数自身能够引用自身,这可以通过将函数作为参数传递实现。初始的尝试可能有些误导,因为忘记将函数本身作为第一个参数,修正后代码如下:在递归场景中,关键在于...
浅析JavaScript中的特殊函数及用法小结
匿名函数是其中一种特殊的函数形式,它没有名字,用于简化代码或仅在需要时临时使用。例如:\/\/匿名函数 function(){ \/\/匿名函数,会报错 return '一碗周'; } 尽管JavaScript不直接支持匿名函数语法,但它在回调函数和自调函数中有广泛应用。回调函数指的是作为参数传递给另一个函数的函数,而自调函数...
javaScript代码不懂,求解
(function(){})\/\/ jquery匿名函数的写法,作用是当页面初始化完毕,开始加载function内部js。整个代码的大致意思是给页面所有的按钮添加一个单击事件,用了this,页面应该只有一个按钮吧。该单击事件触发时根据按钮的name属性去判断。符合某一个条件打开一个页面,不符合打开另一个页面。获取按钮的name属性...
javascript什么是匿名函数和闭包?
在解释IIFE之前,先理解匿名函数。匿名函数即无名函数,不分配给变量使用。若尝试直接将匿名函数赋值给变量,再通过变量调用函数,会因JavaScript未能识别函数后的括号而报错。通过在匿名函数后添加括号,将其视为一个整体执行,便可形成IIFE。IIFE允许在定义时直接执行函数,并可将参数传递给函数。在上述示例...
javascript中的匿名函数和function有什么区别
匿名函数,用于闭包 function 用于定义函数或对象