2015-07-09 2 views
0

В какой-то степени, я знаю, Что происходит в коде, просто чтобы очистить мои сомнения, я отвечал на этот вопросэто ключевое слово внутри анонимной функции/конструктор

JavaScript

Point = function (x, y)  //Here anonymous constructor is define 
{ 
    this.x = x; 
    this.y = y; 
} 

var points=[] 
points.push(new Point(centerX + radius * Math.sin(angle),centerY - radius * Math.cos(angle))); //object is created and push in the array 

А для доступа к значению точек массив, я могу написать точки [i] .x?

+0

Да, точно. Ключевое слово this это просто самореклама. Если вы добавите 'console.log (points)' в свой JavaScript, вы можете увидеть структуру своих объектов, чтобы лучше понять, что происходит под капотом. – Jason

+0

«Я могу написать точки [i] .x» - Как насчет тестирования? – Johan

+0

Не имеет значения, что функция конструктора анонимна. Было бы хорошей практикой использовать 'function Point (x, y) {...}' хотя. – Bergi

ответ

0

Да, проверить это

var Point = function (x, y)  //Here anonymous constructor is define 
{ 
    this.x = x; 
    this.y = y; 
} 

var points = []; 
points.push(new Point(2,5)); 
points.push(new Point(3,11)); 
points.push(new Point(9,1)); 

for(var i = 0; i <points.length; i++){ 
console.log(points[i].x); 
console.log(points[i].y); 
}; 
0

Правильно, вы можете получить доступ к объекту, используя его индекс г, а затем вы разыменования объект для доступа к его атрибут/член

var Point = function (x, y) 
{ 
    this.x = x; 
    this.y = y; 
} 

var points = []; 
points.push(new Point(1, 2)); 
var point = points[0]; 
alert(point.x == point[0].x); 
Смежные вопросы