如果您有以下功能:
function FunctionT(){
//do something
}
你会把它称为空或未定义或者是否有效?这是否有官方名称?
答案 0 :(得分:6)
“noop”或“null function”:
var noop = function(){}
在计算机科学中,NOP或NOOP(无操作的简称)[...] a 完全没有任何作用的命令。
在计算机科学中,空函数(或空操作符)是子例程 返回没有数据值并保持程序状态不变
来源,http://en.wikipedia.org/wiki/NOP,https://en.wikipedia.org/wiki/Null_function
答案 1 :(得分:2)
当我创建此类函数时,我将它们视为“哨兵函数” - 类似于identity functions,其中返回值为被丢弃< / em>或是默认值(但不是标识);应该没有副作用。
术语“sentinel function”不常见,但我发现它们扮演的角色与sentinel values类似。 (虽然,有人可能会认为JavaScript 中的函数是值,因此“哨兵函数” 是一个哨兵值。)
在稍微不同的情况下使用的相关实践是在数据的末尾放置一些特定值,以避免在某些处理循环中需要显式终止测试,因为该值将触发终止由于其他原因,测试已经存在。
为“哨兵功能”重写此内容
在稍微不同的情况下使用的相关实践是使用空函数,以避免在调用函数表达式时需要对函数对象进行显式测试,因为可以调用sentinel函数对象。
例如:
function doStuff(data, callback) {
callback = callback || function(){};
callback(compute(data));
}