Javascript:使用哪个函数结构

Fra*_*ent 5 javascript scripting

我正在阅读一篇关于Javascript最佳实践的文章,并且对使用哪种函数结构感到困惑...

我想它可能会对变量和函数的范围产生影响,但是你会使用哪种结构(这被认为是最佳实践)?

结构1:使用对象文字.

var obj1 = {
    _myvar : 'myval',

 init: function() {
  this.function1();
  this.function2();
 },

 function1: function() {
  alert('function1');
 },

 function2: function() {
  alert('function2');
 }
};
obj1.init();
Run Code Online (Sandbox Code Playgroud)



结构2:将代码包装在自动执行功能中.

(function(){
 var _myvar = 'myval',

 function1 = function() {
  alert('function1');
 },

 function2 = function() {
  alert('function2');
 },

 init = (function() {
  function1();
  function2();
 }) (); 
}) ();
Run Code Online (Sandbox Code Playgroud)

Gab*_*aru 3

当您不希望其他人干扰您的代码和/或不想使用任何全局变量时,您可以使用自执行匿名函数。如果您可能想在其他地方使用这些函数/对象/任何内容,您可能会想使用第一个。