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 }();
浙公网安备 33010602011771号