Czy jest jakiś sposób, aby to zrobić w konstruktorze?Tworzenie instancji obiektu javascript i zapełnianie jego właściwości w pojedynczej linii
obj = new Object();
obj.city = "A";
obj.town = "B";
Czy jest jakiś sposób, aby to zrobić w konstruktorze?Tworzenie instancji obiektu javascript i zapełnianie jego właściwości w pojedynczej linii
obj = new Object();
obj.city = "A";
obj.town = "B";
tak:
var obj = {
city: "a",
town: "b"
}
spróbować tej
var obj = {
city : "A",
town : "B"
};
function cat(name) {
this.name = name;
this.talk = function() {
alert(this.name + " say meeow!")
}
}
cat1 = new cat("felix")
cat1.talk() //alerts "felix says meeow!"
function MyObject(params) {
// Your constructor
this.init(params);
}
MyObject.prototype = {
init: function(params) {
// Your code called by constructor
}
}
var objectInstance = new MyObject(params);
To byłby prototypowy sposób, który preferuję w stosunku do zwykłych literałów obiektów, gdy potrzebuję więcej niż jednej instancji obiektu.
spróbuj tego:
function MyObject(city, town) {
this.city = city;
this.town = town;
}
MyObject.prototype.print = function() {
alert(city + " " + town);
}
obj = new MyObject("myCity", "myTown");
obj.print();
Nie komplikować. Oto najprostszy sposób definiowania konstruktora.
var Cont = function(city, town) {
this.city = city;
this.town = town;
}
var Obj = new Cont('A', 'B');
Doprowadziłoby to do prywatnych metod tylko w twojej klasie. Za pomocą prototypu możesz definiować metody dostępne poza klasą. Jeśli potrzebujesz prywatnych metod, możesz je zdefiniować w funkcji konstruktora. – Sutuma
To nie doprowadzi do prywatnych metod. Proszę przeczytać http://javascript.crockford.com/private.html –
Z twojego linku: "Metody prywatne są wewnętrznymi funkcjami konstruktora." Zasadniczo to się skończy, jeśli zadeklarujesz funkcje w swojej definicji. – Sutuma
Można napisać swój własny konstruktor:
function myObject(c,t) {
this.city = c;
this.town = t;
}
var obj = new myObject("A","B");
Tak, oczywiście. Widać tu pewne zużycie: [Wcześniej odpowiedział na pytanie] [1] [1]: http://stackoverflow.com/questions/1114024/constructors-in-javascript-objects – Steve
możliwy duplikat [Utwórz obiekt z właściwościami,] (http://stackoverflow.com/questions/8224680/create-an-object-with-properties) –
http://www.phpied.com/3ways-to-definea-a- javascript-class/ – Kasper