JavaScript匿名函数

news/2024/7/19 13:04:15 标签: 匿名函数, js

JavaScript提供了定义匿名函数的方式,这种创匿名函数的语法格式如下:

function(parameter list){
	alert("AAA");
}

这种函数定义语法无须指定函数名,而是将参数列表紧跟fuction关键字。在函数定义域发的最后不要忘记紧跟分号。

我们举个例子:

<script type="text/javascript">
	// 将有名字的函数赋值给变量f,因此test将会被忽略
	var f = function test(name)
	{
		document.writeln('匿名函数<br />');
		document.writeln('你好' + name);
	};
	f('yeeku');
	// test函数并不存在,下面代码出现错误
	test("abc");
</script>

结果如下:

匿名函数的作用其实也很大,在很长的JavaScript代码中,函数的变量名如果大部分都用匿名函数的话,会大大的降低出错的概率。他的具体作用可以概括到如下4点。

  1. 《Javascript的一种模块模式》中的第一句话就是“全局变量是魔鬼”。

  2. 配合var关键字,匿名函数可以有效的保证在页面上写入Javascript,而不会造成全局变量的污染。

  3. 这在给一个不是很熟悉的页面增加Javascript时非常有效,也很优美。

  4. 实际上,YUI以及其相应的范例中大量使用匿名函数,其他的Javascript库中也不乏大量使用。


http://www.niftyadmin.cn/n/898657.html

相关文章

值类型和引用类型做参数时的值会不会影响实参

我们知道&#xff0c;一个方法是可以有形参的&#xff0c;也就是方法名后括号里的参数&#xff0c;当我们调用此方法&#xff0c;并向里面传入参数时&#xff0c;也就是实参&#xff0c;那这个实参会不会改变呢&#xff1f; 当我们传入int类型的值时&#xff0c;无论传入的形参…

方法参数

通过重载类的构造器方法&#xff0c;可以采用多种形式设置类的实例域的初始状态。确保不管怎样调用构造器&#xff0c;每个实例域都可以被设置为一个有意义的初值&#xff0c;这是一种很好的编程习惯。 class Employee {private String name ""; } 当然了&#xf…

HTML在线visio进行简单布局

我们先来看一下这个需要布局的页面&#xff1a; w 我们对红色的标注部分进行舍去操作&#xff0c;我们只进行相应的布局&#xff1a; <!DOCTYPE html> <html><head><title></title><meta charset"utf-8" /><link rel"…

复合类型(json)

复合类型是由多个基本数据类型&#xff08;也可以是包括复合类型&#xff09;组成的数据体。JavaScript中的复合类型大致上有如下三种。 &#xff08;1&#xff09;Object &#xff1a;对象 &#xff08;2&#xff09;Array &#xff1a;数组 &#xff08;3&#xff09;Func…

打印出水仙花数

水仙花数&#xff08;Narcissistic number&#xff09;也被称为超完全数字不变数&#xff08;pluperfect digital invariant, PPDI&#xff09;、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数&#xff08;Armstrong number&#xff09;&#xff0c;水仙花数是指一个 3 位数&#…

初始化块的执行顺序

我们先来看一段代码。 public class Car {private static String Name "汽车";private String name "汽车";private double price 10000;public Car() {System.out.println("这是构造函数");System.out.println(this);}{System.out.println(…

用超类对象接收new出来的子类对象时,数据会不会丢失

我么会常常遇到用超类的对象来接收new的子类对象&#xff0c;这样会不会出现数据丢失呢&#xff1f;我们先来看这段代码&#xff1a; public class Car {private String name "汽车";private double price 10000;public String getName() {return name;}public vo…

对象调用方法的解析过程

弄清楚如何在对象上应用方法调用非常重要。下面假设要调用x.f(args)&#xff0c;隐式参数x声明为类C的一个对象。 下面是调用过程的详细描述: &#xff08;1&#xff09;编译器查看对象的声明类型和方法名。假设调用x.f(param),且隐式参数x声明为C类的对象。 需要注意的是:有可…