JS函数定义方式的区别介绍
更新时间:2016年03月22日 16:11:09 投稿:jingxian
下面小编就为大家带来一篇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(){},匿名函数
以上这篇JS函数定义方式的区别介绍就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
深入解读JavaScript中的Iterator和for-of循环
这篇文章主要介绍了JavaScript中的Iterator和for-of循环,是JS入门学习中的基础知识,需要的朋友可以参考下2015-07-07
window.location.href的用法(动态输出跳转)
无论在静态页面还是动态输出页面中window.location.href都是不错的用了跳转的实现方案2014-08-08
javascript操作html控件实例(javascript添加html)
几乎HTML所有标记都可以说是HTML的控件,如select, input, div, table等。html标签便捷的操作,深受大家的喜欢。如何使用javascript来操作HTML控件,下面我介绍下比较麻烦的几个控件2013-12-12
JavaScript中使用Math.floor()方法对数字取整
这篇文章主要介绍了JavaScript中使用Math.floor()方法对数字取整,是JS入门学习中的基础知识,需要的朋友可以参考下2015-06-06


最新评论