0

在编写声音代码时,我应该使用全局对象还是将局部变量传递给函数,然后将函数局部对象返回给原始函数?

function func1(obj) {
  ..modify obj
  return obj;
}

object = func1(object)
..do something with modified object

或者

var object={..};

function func1() {
  ..modifiy object
}

function func2() {
    func1();
    ..do something with modified object
}

func2();

第一个似乎更具可读性,第二个似乎更好的做法......

4

1 回答 1

3

JavaScript 的最佳实践是不要使用全局变量,除非你绝对必须这样做。话虽如此,这实际上取决于您的情况。Douglas Crockford 有 2 篇关于这个主题的非常好的文章。第一个解释了为什么它们如此糟糕,第二个提供了何时必须使用全局变量的提示,

  1. http://yuiblog.com/blog/2006/06/01/global-domination/

  2. http://yuiblog.com/blog/2008/04/16/global-domination-part-two/

于 2013-09-13T00:04:16.303 回答