JavaScript:全局对象或函数返回本地?

时间:2013-09-12 23:51:11

标签: javascript oop object

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

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();

第一个似乎更具可读性,第二个似乎更好的练习...

1 个答案:

答案 0 :(得分:3)

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

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

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