كيف يمكنني الرجوع كائن حيوي؟
-
05-07-2019 - |
سؤال
في جافا سكريبت، لدي كائن:
obj = { one: "foo", two: "bar" };
والآن، أريد القيام بذلك
var a = 'two';
if(confirm('Do you want One'))
{
a = 'one';
}
alert(obj.a);
ولكن بطبيعة الحال فإنه لا يعمل. ما هي الطريقة الصحيحة في وضع مرجع لهذا الكائن حيوي؟
المحلول
والجواب باختصار: obj[a]
والجواب طويل: obj.field
هو مجرد اختصار لobj["field"]
، لحالة خاصة حيث المفتاح هو سلسلة متواصلة بدون مسافات، النقاط، أو أشياء سيئة أخرى. في سؤالك، هو مفتاح ليست ثابتة، وذلك ببساطة استخدم بناء الجملة كاملة.
نصائح أخرى
ومثل هذا:
obj[a]
وكملاحظة جانبية، وترد المتغيرات العالمية إلى كائن "نافذة"، حتى تتمكن من القيام
var myGlobal = 'hello';
var a = 'myGlobal';
alert(window[a] + ', ' + window.myGlobal + ', ' + myGlobal);
وهذا تنبيه "مرحبا، مرحبا، مرحبا"
لا تنتمي إلى StackOverflow