这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
下面小编就为大家带来一篇浅谈 JS 函数定义方式的区别。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
关于 JS 的函数定义方式有以下两种:
(1)典型的函数声明
- function slide(arguments){
- //...code
- }
(2)以函数表达式的形式定义函数
- var slide = function(arguments){
- //...code
- }
虽然上面两种方式逻辑上是等价的,但是还是有点小区别:
区别一:例一中的函数会在代码执行以前被加载到作用域中,而例二则是在代码执行到那一行的时候才会有定 义;
区别二:函数声明会给函数指定一个名字,而函数表达式则是创建一个匿名函数,然后将这个匿名函数赋给一个变量;
看下面例子:
- function factorial(num){
- if(num<=1){
- return 1;
- }
- else {
- return num*arguments.callee(num-1);
- }
- }
- var anotherFactorial = factorial;
- factorial = null;
- console.log(anotherFactorial);//输出factorial(){},有函数名
若是以函数表达式定义
- var factorial = function(num) {
- //...code
- }
- //...code
- console.log(anotherFactorial); //输出function(){},匿名函数
来源: http://www.phperz.com/article/17/0605/330788.html