Javascript 对象文字和在IIFE中返回对象的函数之间的区别和优缺点是什么?
为了澄清这个问题,我理解了什么是生活和对象文字。但是,我不确定这两个示例之间的区别(除了一个是函数,另一个是对象文字): 例1:Javascript 对象文字和在IIFE中返回对象的函数之间的区别和优缺点是什么?,javascript,object-literal,iife,Javascript,Object Literal,Iife,为了澄清这个问题,我理解了什么是生活和对象文字。但是,我不确定这两个示例之间的区别(除了一个是函数,另一个是对象文字): 例1: 例2: 这两个示例返回相同的结果,调用方式(几乎)相同。但是: 1) 它们之间的根本区别是什么? 2) 使用其中一个比另一个有好处吗? 3) 我看到的代码(在第二个示例中)return myStuff.arbiryvalue的工作原理与return myStuff().arbiryvalue的工作原理相同。这怎么可能呢? 4) 如果我只是想避免全局冲突并编写干净的
例2:
这两个示例返回相同的结果,调用方式(几乎)相同。但是: 1) 它们之间的根本区别是什么?
2) 使用其中一个比另一个有好处吗?
3) 我看到的代码(在第二个示例中)
return myStuff.arbiryvalue
的工作原理与return myStuff().arbiryvalue
的工作原理相同。这怎么可能呢?4) 如果我只是想避免全局冲突并编写干净的代码,这是不是太过分了?
5) 这些例子中有一个被认为是“最佳实践”,还是有其他选择 非常感谢 1) 它们之间的根本区别是什么 第一个(可能)使用更少的CPU周期,因为它有一个更少的函数调用和更少的写入。它也更容易理解,因此可能更容易维护 2) 使用其中一个比另一个有好处吗 第一种方法使用更少的代码,并且可能更容易理解和维护 3) 我看到的代码(在第二个示例中)return myStuff.arbirryValue的工作原理与return myStuff().arbirryValue的工作原理相同。这怎么可能 也许使用,一个功能的,但不是 4) 如果我只是试图避免全局冲突并编写干净的代码,这是不是太过分了 是的,但是您还没有显示如何处理返回的值。在这个例子中,它消失在乙醚中 5) 这些例子中有一个被认为是“最佳实践”,还是有其他选择 “最佳”是指根据客观标准,对其他不太受欢迎的事物的抱怨。如果没有这些标准(可能是速度、健壮性、可维护性、支持或其他特性,理想与否),就无法确定 如果您提出一种情况,希望使用其中一种,则可以根据建议的标准(或您可能有的其他标准)并与备选方案进行比较,就是否有更好的方法给出建议 1) 它们之间的根本区别是什么 第一个(可能)使用更少的CPU周期,因为它有一个更少的函数调用和更少的写入。它也更容易理解,因此可能更容易维护 2) 使用其中一个比另一个有好处吗 第一种方法使用更少的代码,并且可能更容易理解和维护 3) 我看到的代码(在第二个示例中)return myStuff.arbirryValue的工作原理与return myStuff().arbirryValue的工作原理相同。这怎么可能 也许使用,一个功能的,但不是 4) 如果我只是试图避免全局冲突并编写干净的代码,这是不是太过分了 是的,但是您还没有显示如何处理返回的值。在这个例子中,它消失在乙醚中 5) 这些例子中有一个被认为是“最佳实践”,还是有其他选择 “最佳”是指根据客观标准,对其他不太受欢迎的事物的抱怨。如果没有这些标准(可能是速度、健壮性、可维护性、支持或其他特性,理想与否),就无法确定 如果您提出一种情况,希望使用其中一种,则可以根据建议的标准(或您可能有的其他标准)并与备选方案进行比较,就是否有更好的方法给出建议 1) 它们之间的根本区别是什么 第一个(可能)使用更少的CPU周期,因为它有一个更少的函数调用和更少的写入。它也更容易理解,因此可能更容易维护 2) 使用其中一个比另一个有好处吗 第一种方法使用更少的代码,并且可能更容易理解和维护 3) 我看到的代码(在第二个示例中)return myStuff.arbirryValue的工作原理与return myStuff().arbirryValue的工作原理相同。这怎么可能 也许使用,一个功能的,但不是 4) 如果我只是试图避免全局冲突并编写干净的代码,这是不是太过分了 是的,但是您还没有显示如何处理返回的值。在这个例子中,它消失在乙醚中 5) 这些例子中有一个被认为是“最佳实践”,还是有其他选择 “最佳”是指根据客观标准,对其他不太受欢迎的事物的抱怨。如果没有这些标准(可能是速度、健壮性、可维护性、支持或其他特性,理想与否),就无法确定 如果您提出一种情况,希望使用其中一种,则可以根据建议的标准(或您可能有的其他标准)并与备选方案进行比较,就是否有更好的方法给出建议 1) 它们之间的根本区别是什么 第一个(可能)使用更少的CPU周期,因为它有一个更少的函数调用和更少的写入。它也更容易理解,因此可能更容易维护 2) 使用其中一个比另一个有好处吗 第一种方法使用更少的代码,并且可能更容易理解和维护 3) 我看到的代码(在第二个示例中)return myStuff.arbirryValue的工作原理与return myStuff().arbirryValue的工作原理相同。这怎么可能 也许使用,一个功能的,但不是 4) 如果我只是试图避免全局冲突并编写干净的代码,这是不是太过分了 是的,但是您还没有显示如何处理返回的值。在这个例子中,它消失在乙醚中 (五)
(function(){
var myStuff = {
arbitraryValue: 42
}
return myStuff.arbitraryValue;
})();
(function(){
var myStuff = function() {
return {
arbitraryValue: 42
};
}
return myStuff().arbitraryValue;
})();