var callback = function(Recharger){}
..........代码
callback && callback(new Recharger({
type: 'book'
}));
callback && ...
表示前面判真则执行后面的内容
js 的 &&
首先计算第一个操作数,如果为假则不在计算(执行)后面的操作数,因为第一个为假,那么无论如何这个结果都为假。
所以句的意思是if(callback) {callback(new Recharger({type: 'book'})) }
其中new Recharger
是创建一个新的对象,当做函数调用的参数。
P.S. &&在标准里的定义(简化版)
1、计算第一个表达式的结果
2、如果这个结果 toBoolean 为假,则返回这个结果。
3、否则返回第二个表达式的计算结果
先声明一个 function callback,下面调用这个callback 传入了一个 recharger 的实例作为参数。