سؤال

أنا تريد أن تجعل مخصصة Array الكائن الذي يتلقى عدد من مؤشر ، اعتمادا على قيمة المؤشر ، أنها ستعيد احتساب القيمة.

على سبيل المثال:

>>> var MyArray(2);
>>> MyArray[2];
4
>>> MyArray.2;
4

أنا أعرف أن أظهرت سبيل المثال, أنا أفضل مع وظيفة, ولكن أريد أن أعرف ما إذا كنت يمكن تجاوز خصائص/index البحث عن بعض الأشياء التي هي conceptualy المصفوفات ، ولكن قد تحتاج بعض الحسابات.

أنا على علم بأن x.1 == x[1], لذا ما أريده هو جعل الملكية في جافا سكريبت.

أعنى ، x.variable = x.myPropery(), لذا في كل مرة أن أحصل على قيمة x.variable, لقد تلقي عودة x.myPorperty().

هل هذا ممكن ؟

هل كانت مفيدة؟

المحلول 2

حاليا جافا سكريبت حاصل على واضعي ممكنة فقط على

  • فايرفوكس
  • سفاري 3+
  • أوبرا 9.5+

Internet Explorer (في أي من الإصدارات) هو نقص في هذا الصدد.

نصائح أخرى

ومتغيرة [الملكية] هي نفس تدوين نقطة حتى تقومون به MyArray.2، وهو متغير، وليس الطريقة التي يحصل تقييمها. لا يمكنك حقا أن تفعل ما تريد دون أن طريقة إما تغيير خاصية عندما يتم تعيينه، أو الطريقة التي يحسب القيمة الصحيحة عند تخلعها.

ولا، لا يمكنك تجاوز []، ه ببساطة دوت التدوين، وليس حقا مؤشر أنه يمكنك تجاوز

ورد: تعليقك، على الاطلاق، يمكنك أن تفعل

var x = new Array();
x[1] = function () { alert('x') };

var myFunction = x[1];

x[1]();        // alerts "x"
myFunction();  // alerts "x"

alert(x[1]);         // alerts "function () { alert('x') };"
alert(myFunction);   // alerts "function () { alert('x') };"
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top