js函数的一些难点

今天又把javascript函数部分复习了一下,把一些难点归纳下,为了让书越看越薄,还是决定记下来。

1. 创建函数的2种方式:函数声明和函数表达式:

二者的区别:函数声明提升。函数声明后面不能跟圆括号,但函数表达式后面可以跟圆括号。要将函数声明转化为函数表达式,只需在给函数声明加一对圆括号即可。(function(){})();
函数声明:重要特征:函数声明提升,在执行代码前先读取函数声明,所以可以把函数声明放在调用它的语句后面。

sayHi();function sayHi(){     alert('hi');}   //不会报错

函数表达式在使用前必须先赋值。否则会报错。

sayHi();Var sayHi=function{     alert('hi');}   //会报错

2.递归:arguments.callee是一个指向正在执行的函数的指针。

function factorial(num){     if(numva2){               return 1;          }else{               return 0;          }     };     }     var compare=createCompareFunction('name');//创建函数     alert(compare({name:'wsz'},{name:'hh'}));//调用函数

7.一道面试题:

     var add=function(x){          var sum=1;          var tmp=function(x){               sum=sum+x;               return tmp;          }          tmp.toString=function(){               return sum;          }          return tmp;     }alert(add(1)(2)(3));

关键字:JavaScript

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部