Javascript 在对象内声明变量会导致错误

Javascript 在对象内声明变量会导致错误,javascript,jquery,Javascript,Jquery,我试图在对象内部创建变量,如下所示,但它给了我错误。这是 下面是相同的代码 var One = { var var1, var2; init: function () { var1 = 'some1'; var2 = 'some2'; } } One.init(); ​ 对象应如下所示: var Object = { /** * Documantation. */ var1: null, /**

我试图在对象内部创建变量,如下所示,但它给了我错误。这是

下面是相同的代码

var One = {
    var var1, var2;
    init: function () {
      var1 = 'some1';
      var2 = 'some2';
    }        
}

One.init();

对象应如下所示:

var Object = {

  /**
   * Documantation.
   */
  var1: null,

  /**
   * Documantation.
   */
  var2: null,

  /**
   * Documantation.
   */
  init: function () {
    this.var1 = 'some1';
    this.var2 = 'some1';
  }
};

Object.init();

但是,为了更清楚地回答问题,关于要完成的任务的更多信息将非常有用。

对象具有属性而不是变量:

var One = {
    prop: "",
    prop2: "",
    init: function() {
       this.prop = 'some1';
       this.prop2 = 'some2';
    }        
}

作为替代方案,您可以执行以下操作:

function One(Var1, Var2)
{
    this.var1 = Var1;
    this.var2 = Var2;
}

var OneExample = new One('some1','some2');

var OneExampleVar1 = OneExample.var1;

编辑-这是一个演示

你想实现什么?
var1
var2
是否应该在
init
函数之外访问?为什么它们不是
One
的属性?我希望这些变量可以在
One
对象内部访问,但不能在对象外部访问,这样,如果我想在其他文件中声明具有相同名称的变量,就不应该产生任何冲突为什么不在
init
内部声明它们?我认为init函数主要用于初始化。我说的对吗?我可以在其他文件中声明同名的变量吗?如果我按照您的过程操作,它会不会与这些对象产生冲突?javascript中没有“文件”的概念,变量是对象的一部分,因此只有在使用相同的对象时才会有冲突:
object.var1=“我正在更改var1值”。您应该阅读更多关于javascript对象和作用域的信息。您有一些信息和。我可以在其他文件中声明同名的变量吗?如果我按照你的程序做,会不会与这些产生冲突?@x4f4r是的,你可以,对象的属性和变量之间没有冲突。感谢您的帮助,但您能告诉我,我可以使用object literal声明公共和私有属性吗?@x4f4r JavaScript面向对象的功能与其他语言(如PHP)不同,JavaScript中没有私有或公共关键字。