数码资讯
javascript匿名函数的解释
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
1。什么是匿名函数
在Javascript中定义函数有三种方法,如下所示:
函数关键字(函数)语句:
复制代码代码如下所示:
Function fnMethodName (x) {alert (x);}
函数字面量(函数文本):
复制代码代码如下所示:
无功fnmethodname =函数(x){ alert(x);}
函数()构造函数:
复制代码代码如下所示:
无功fnmethodname =新的函数(x,'alert(x);')
以上三种方法定义相同的方法fnmethodname功能,第一个是最常用的方法,后者是复制一个函数变量fnmethodname,它没有名字,就是匿名函数。事实上,很多语言都有匿名函数。
二、函数文本与函数()构造函数的区别
尽管函数字面是一个匿名函数,但是语法允许分配任何函数名。在编写递归函数时,它可以调用自己,并使用函数()构造函数。
复制代码代码如下所示:
函数事实(x){
如果(x=1)返回1;
否则返回x *事实(X-1);
};
功能()构造函数允许Javascript代码的动态生成和编译时它允许运行。在这方面,它类似于全局函数eval()。
()构造函数的函数解析函数的函数体,每次执行时,会创建一个新的函数对象,调用函数的效率()在一个圆形的或频繁执行的函数的构造函数很低。相反,该函数字面量不重新编译一次。
当函数()构造函数创建一个函数时,它并不遵循一个典型的作用域,它总是把它作为一个顶级函数使用。
复制代码代码如下所示:
全局;
功能constructfunction(){
本地;
返回新函数(返回);无法获取本地变量
}
警报(constructfunction)(()); / /输出全球
与功能键的定义相比,功能()构造函数有其自己的特点,很难用,所以这项技术通常是很少使用的功能,文字表达是非常接近的功能关键词的定义,考虑到以往的区别,虽然有报道显示文字大小的匿名函数有一些WebKit引擎的bug在OS X 10.4.3下,通常我们称在字面函数形式的匿名函数。更多的细节可以在Javascript的章阅读:权威指南,第五版,功能。
三,匿名函数的代码模式
昨天王介绍了套期保值者在他的博客中几个匿名函数的代码模式:
错误模式:它不能工作,浏览器会报告错误的语法。
复制代码代码如下所示:
函数(){
警报(1);
(});
函数文字:首先,声明一个函数对象,然后执行它。
复制代码代码如下所示:
(函数(){())
警报(1);
});
优先级表达式:由于Javascript执行表达式是从括号到外部的,所以声明的函数可以由括号强制执行。
复制代码代码如下所示:
(函数(){())
警报(2);
}();
空操作符:空操作符用于执行一个没有圆括号包围的操作数。
复制代码代码如下所示:
空函数(){
警报(3);
(})
三方面是平等的,而hedger Wang更喜欢第三个人的原因,并在实际应用中我看到的第一次使用。
四、匿名函数的应用
在一个模型中的Javascript的第一句话是,全局变量是魔鬼。用var关键字,匿名函数能有效保证Javascript网页上的文字不会造成全局变量的污染。这是非常有效和优雅的时候加入javascript不熟悉的页面。事实上,唯其相应的范例使用了大量的匿名函数,和许多其他的Javascript库的大量使用。
Javascript函数编程(功能编程)的基石。请看使用函数式编程编写优雅的Javascript和功能性Javascript编程指南。
在Javascript中定义函数有三种方法,如下所示:
函数关键字(函数)语句:
复制代码代码如下所示:
Function fnMethodName (x) {alert (x);}
函数字面量(函数文本):
复制代码代码如下所示:
无功fnmethodname =函数(x){ alert(x);}
函数()构造函数:
复制代码代码如下所示:
无功fnmethodname =新的函数(x,'alert(x);')
以上三种方法定义相同的方法fnmethodname功能,第一个是最常用的方法,后者是复制一个函数变量fnmethodname,它没有名字,就是匿名函数。事实上,很多语言都有匿名函数。
二、函数文本与函数()构造函数的区别
尽管函数字面是一个匿名函数,但是语法允许分配任何函数名。在编写递归函数时,它可以调用自己,并使用函数()构造函数。
复制代码代码如下所示:
函数事实(x){
如果(x=1)返回1;
否则返回x *事实(X-1);
};
功能()构造函数允许Javascript代码的动态生成和编译时它允许运行。在这方面,它类似于全局函数eval()。
()构造函数的函数解析函数的函数体,每次执行时,会创建一个新的函数对象,调用函数的效率()在一个圆形的或频繁执行的函数的构造函数很低。相反,该函数字面量不重新编译一次。
当函数()构造函数创建一个函数时,它并不遵循一个典型的作用域,它总是把它作为一个顶级函数使用。
复制代码代码如下所示:
全局;
功能constructfunction(){
本地;
返回新函数(返回);无法获取本地变量
}
警报(constructfunction)(()); / /输出全球
与功能键的定义相比,功能()构造函数有其自己的特点,很难用,所以这项技术通常是很少使用的功能,文字表达是非常接近的功能关键词的定义,考虑到以往的区别,虽然有报道显示文字大小的匿名函数有一些WebKit引擎的bug在OS X 10.4.3下,通常我们称在字面函数形式的匿名函数。更多的细节可以在Javascript的章阅读:权威指南,第五版,功能。
三,匿名函数的代码模式
昨天王介绍了套期保值者在他的博客中几个匿名函数的代码模式:
错误模式:它不能工作,浏览器会报告错误的语法。
复制代码代码如下所示:
函数(){
警报(1);
(});
函数文字:首先,声明一个函数对象,然后执行它。
复制代码代码如下所示:
(函数(){())
警报(1);
});
优先级表达式:由于Javascript执行表达式是从括号到外部的,所以声明的函数可以由括号强制执行。
复制代码代码如下所示:
(函数(){())
警报(2);
}();
空操作符:空操作符用于执行一个没有圆括号包围的操作数。
复制代码代码如下所示:
空函数(){
警报(3);
(})
三方面是平等的,而hedger Wang更喜欢第三个人的原因,并在实际应用中我看到的第一次使用。
四、匿名函数的应用
在一个模型中的Javascript的第一句话是,全局变量是魔鬼。用var关键字,匿名函数能有效保证Javascript网页上的文字不会造成全局变量的污染。这是非常有效和优雅的时候加入javascript不熟悉的页面。事实上,唯其相应的范例使用了大量的匿名函数,和许多其他的Javascript库的大量使用。
Javascript函数编程(功能编程)的基石。请看使用函数式编程编写优雅的Javascript和功能性Javascript编程指南。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。