day-11.4 JS自带API,argument.callee(); 匿名函数回调自己

1 var a = function b (){
2   alert(11111);  
3     b();//b只有在内部回调执行的时候才生效;如果没有这一句代码,则只会执行一次a()
4 }
5 a();
6 b(); //b无法执行 ,会报错b is no defind;

上述例子就是回调自己;会导致循环,b只能在内部执行,也就是内部回调自己,全局并没有b这个变量; b是a作用域下的函数b;

回调的意思是当满足一个条件的时候,接着的调用动作叫回调;回调函数是一个作为变量传递给另外一个函数的函数,它在主体函数执行完之后执行。

例如:function A有一个参数function B,function B会在function A执行完成之后被调用执行。

当匿名函数需要回调自己的时候就只能使用argument.callee(),严格模式不支持callee;

JS之所以有严格模式是因为JS本身是个极为松散的语言,即书写规范要求不是很严格,但是为了避免浏览器升级版本后,导致前面的代码展示有错误;所以尽量要求代码按照严格模式书写;

1 !function (){
2   console.log(argument.callee) ;//输出的是函数本身;
3 }();

 

posted @ 2018-06-19 15:43  bibiguo  阅读(88)  评论(0)    收藏  举报