var foo = function bar() { // …
};
看到很多代码这样写的, 为什么要把一个function赋值给一个var,
我直接用这个bar就可以了啊
比如说 调用时:
bar();…
设置回调时
setCallback(bar);
var foo = function bar() { // …
};
看到很多代码这样写的, 为什么要把一个function赋值给一个var,
我直接用这个bar就可以了啊
比如说 调用时:
bar();…
设置回调时
setCallback(bar);
我是觉得就是习惯性问题。就像很多人喜欢用for(;;){},而我习惯用while(true){},你非要说他们有没有区别,我估计也有,但大多数时候没必要去较这个劲
怎么说呢,可能有些人觉得,当需要调用函数,获得其结果的时候,用bar()更符合直觉,当需要把函数本身作为参数时(如callBack的时候),如果让他们写bar,后面会直觉性的加上括号,变成setCallBack(bar()),但是如果之前有个var foo=…,这里用foo的时候由于是个变量(起码看起来像),就不会想在后面跟括号
PS:虽然你依旧可以用foo()起到跟bar()一样的效果……
没为什么,手痒而已。我个人就从来不干这事。
(不过有一种情况下是需要的,例如:)
var isDomNode = typeof window === 'object' && (typeof Node === 'function' ?
function (obj) {
// If "TypeError: Right-hand side of 'instanceof' is not callback" is thrown,
// it should because window.Node was overwritten.
return obj instanceof Node;
} :
function (obj) {
return obj &&
typeof obj === 'object' &&
typeof obj.nodeType === 'number' &&
typeof obj.nodeName === 'string';
};
说实话, 没看懂, isDomNode 什么时候会被用到?
这是编辑器用的