Tom*_*ker 21 javascript conventions
我正在使用类成员来保存常量.例如:
function Foo() {
}
Foo.CONSTANT1 = 1;
Foo.CONSTANT2 = 2;
这样可以正常工作,除了它看起来有点无组织,所有代码都特定Foo于全局范围内.所以我考虑将常量声明移到Foo()声明中,但是那时代码执行不会Foo被构造吗?
我来自Java,其中所有东西都包含在一个类体中,所以我认为JavaScript可能有类似的东西,或者模仿它的一些解决方法.
use*_*716 31
您在代码中所做的只是将名为CONSTANTvalue 的属性添加1到名为Foo的Function对象中,然后立即使用该值覆盖它2.
我不太熟悉其他语言,但我不相信javascript能够做你似乎尝试的事情.
您添加的Foo任何属性都不会执行.它们只存储在该命名空间中.
也许你想把一些房产原型上Foo?
function Foo() {
}
Foo.prototype.CONSTANT1 = 1;
Foo.prototype.CONSTANT2 = 2;
虽然不是你想要的.
小智 14
你必须像你说的那样制作你的常数:
function Foo() {
}
Foo.CONSTANT1 = 1;
Foo.CONSTANT2 = 2;
你这样访问:
Foo.CONSTANT1;
要么
anInstanceOfFoo.__proto__.constructor.CONSTANT1;
当您创建其他对象时,所有其他解决方案都会分配内存的其他部分,因此它不是常量.你不应该这样做:
Foo.prototype.CONSTANT1 = 1;