これについては、私は少しノブです。私はproduct
と呼ばれるクラス/オブジェクトを定義するためにJSONを使用していますが、そのオブジェクトの特定の部分にアクセスするために引数を渡す方法がわかりません。それをもっとうまく説明できないのは許してください。うまくいけば、私のコードサンプルは役に立ちます:どのようにjavascriptで特定のオブジェクトにアクセスするには?
var product = {
p14lb: {
one: 10.00,
two: 20.00,
three: 30.00,
four: 40.00,
five: 50.00,
six: 60.00,
colorCharge: 2.00
},
p20lb: {
one: 20.00,
two: 30.00,
three: 40.00,
four: 50.00,
five: 60.00,
six: 70.00,
colorCharge: 1.00
},
getPrice: function (productQty,colorQty) {
// I can get the values like this
return this.p20lb.one * productQty;
// but i'd like to be able to pass in the value of what object I want to access
// so instead of hard coding p20lb.one, 'p20lb' would be an argument I could pass
// to getPrice, and 'one' would also be an argument
}
};
これは私が現在それにアクセスしている方法です、素晴らしい作品です。
var myProduct = product.getPrice(144,2);
私は上記のコードサンプル内のコメントで述べたように、私は希望にない私はgetPriceに渡すことができ、引数、および「1」になりハードコードp20lb.one、「p20lb」議論になるだろう。そのため、おそらくこのような何か:
getPrice: function (productQty,colorQty,productName,tier) {
return this.productName.tier * productQty;
}
var myProduct = product.getPrice(144,2,'14lb','two');
しかし、それは何も行くではありません、私は関係なく、私は何をすべきかundefined
を取得していません。私は明らかにこれに就いています。私がしようとしていることは可能ですか?もしそうなら、正しい方向に私を向けることができますか?ありがとう!
をところで:あなたがJSON、 "オブジェクトリテラル" ではないと呼ばれて参照してくださいどのような。 JSONはJavaScriptの 'eval()'で理解できる[非常に厳密な文字列形式](http://json.org/)です。あなたのサンプルは有効なJavaScriptですが、間違いなくJSONに準拠しています。 – Tomalak
+1クール、ありがとう!私は参照としてこれを使用していました(#2を見てください)http://www.phpied.com/3-ways-to-define-a-javascript-class/ – jyoseph
ああ、今、私はリンクされた記事のコメントを読んでいます誰かがそれを著者にも指摘していました。知っておいてよかった! – jyoseph