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中没有私有或公共关键字。