javascript - function FunctionName(){} 和 object.FunctionName = function(){} 有什么区别

标签 javascript jquery object

今天工作时,我的大脑在 javascript 的某个时刻被堆栈了。

我想知道两者之间的基本区别是什么

function FunctionName(){
    //Code goes here;
}

还有

var MyFuncCollection = new Object(); 

MyFuncCollection.FunctionName = function(){
    //Code goes here;
}

两者的工作原理相同。那和那时有什么区别呢。使用带有对象名称的函数有什么好处吗?

我已阅读Question 。但它使用变量并分配函数特定变量。我想创建对象并在单个对象中分配多个函数。

最佳答案

第一个定义了全局函数名称。如果您加载两个库,并且它们都尝试定义 FunctionName,它们将相互冲突。您只能得到最后定义的那个。

第二个只有一个全局变量MyFuncCollection。所有函数都定义为该变量内的属性。因此,如果您有两个尝试定义相同函数名称的集合,一个将是 FuncCollection1.FunctionName,另一个将是 FuncCollection2.FunctionName,并且不会有任何冲突。

唯一的冲突是两个集合都尝试对集合本身使用相同的名称,但这种情况不太可能发生。但这并非完全闻所未闻:有一些库尝试使用 $ 作为其主要标识符。 jQuery 是最突出的,它提供 jQuery.noConflict() 来删除其 $ 绑定(bind)并恢复到以前的绑定(bind)。

关于javascript - function FunctionName(){} 和 object.FunctionName = function(){} 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32795968/

相关文章:

javascript - 使用 angularjs forEach 循环

javascript - Grunt : minify js across project of multiple dirs, 以便每个目录的内容扁平化为单个缩小文件

jquery - PHP JQuery 复选框 - 如果预先选中复选框,则在未选中时不会删除 'checked' 属性

Javascript字符串数组到对象

javascript - 数组切片返回 [object Object] 而不是值

JavaScript - 数千次过滤数千个键

javascript - nodejs https错误: socket hang up with localhost

javascript - 在 jQuery 中使用 ajax - url 不被接受

javascript - HTML - 文档本身(正文)中的appendChild()

javascript - jQGrid setGridParam 函数不适用于 MVC Action