Jump to content
Korean Random
Traveler

объекты JS

Recommended Posts

Если вы через prototype создадите метод, то он появится у всех экземпляров класса

Так еще раз..... У объектов в массиве изначально нет свойства value, так как не нужно оно там до определенного момента, да конечно проще было бы его определить в конструкторе изначально...... но значение этого свойства должен определять пользователь,а в какой момент это произойдет нам не известно....определить в конструкторе метод? тогда один и тот же метод будет дублироваться в коде несколько раз....а если объектов будет 1000000? но в прототипе возможно ведь хранить метод для его создания и записи значения в него? И объекты будут обращаться к нему по ссылке __proto . Верно я понимаю?

Edited by Traveler

Share this post


Link to post

Short link
Share on other sites
но значение этого свойства должен определять пользователь,а в какой момент это произойдет нам не известно....определить в конструкторе метод? тогда один и тот же метод будет дублироваться в коде несколько раз....а если объектов будет 1000000?

 

Вы боритесь за память, или что? Если да, то бросьте JS, т.к. он не про экономию памяти вообще. Если же у вас именно в коде такое повторяется - то что-то не так с архитектурой.

 

Я очень долго читал последний ваш пост пытаясь понять что вы хотите, но не смог =(

 

По шагам:

 

У объектов в массиве изначально нет свойства value
var Foo = function(id) {
    this.id = id;
};

Foo.prototype.toString = function() {
    return "[object Foo]";
}

var foos = [];
for(var i=0; i<10; i++) {
    foos.push(new Foo(id));
}

да конечно проще было бы его определить в конструкторе изначально...... но значение этого свойства должен определять пользователь,а в какой момент это произойдет нам не известно....

 

 

Если пользователь должен сам определять свойство `value`, то где-то в другом участке кода:

foos[1].value = prompt();
// foos[0] is {id: 0, toString: function}
// foos[1] is {id: 1, value: "from prompt", toString: function}
Edited by norkas

Share this post


Link to post

Short link
Share on other sites
Вы боритесь за память, или что?

Пытался.....

 

 

Если пользователь должен сам определять свойство `value`, то где-то в другом участке кода:

Метод для определения этого свойства думал задать в прототипе. Но что - то не получилось сходу...

В общем по замыслу сам объект должен содержать только 2 свойства: имя и количество например:

var obj = {
  'имя': 'молоко',
  'количество': 50
}

А уже что с этим молоком и его количеством будут делать, записать в прототипе...... можно конечно и в конструкторе....  Ведь на момент инициализации "молока" нам не важно что будет происходить с ним в дальнейшем.....

Я, когда впервые задумался об изучении JS,  работал на продуктовом складе.... и подумал в процессе изучения попробовать реализовать подобие складской логики на нем.... Своеобразное домашнее задание так сказать придумал для себя.... Справлюсь,значит добился результатов в изучение....но пока еще много книжек читать нужно,не все так просто как казалось бы... И так как изучаю самостоятельно, то по ходу возникновения вопросов обращаюсь за помощью на форум....

Edited by Traveler

Share this post


Link to post

Short link
Share on other sites

Rust довольно крутой. Думаю заюзать его где-нибудь.

Я никогда так не ошибался. С ходу написать что-то сложное на нем не вышло(

Share this post


Link to post

Short link
Share on other sites
С ходу написать что-то сложное на нем не вышло

Любой язык нужно изучать. Было бы странно, если бы Вы сразу на нём что-то сложное написали. Если бы и написали, то качество кода бы было не очень - нужно хорошо знать ЯП, чтобы писать максимально понятный и красивый код.

Edited by Azbuka

Share this post


Link to post

Short link
Share on other sites

Было бы странно, если бы Вы сразу на нём что-то сложное написали.

С C++ именно так и было)

Share this post


Link to post

Short link
Share on other sites

 

 

С C++ именно так и было)

 

 

Если бы и написали, то качество кода бы было не очень - нужно хорошо знать ЯП, чтобы писать максимально понятный и красивый код.

Хотя нет, это условие к C++ не подходит по двум причинам: знать (и понимать) C++ полностью невозможно, да и любой более-менее сложный код на нём красотой не блещет, да и в понятности слабоват.

По похожей причине к Perl это условие тоже не подходит: любой код на Perl по-своему красив, но понять чужой код - невозможно.

Share this post


Link to post

Short link
Share on other sites

Хотя нет, это условие к C++ не подходит по двум причинам: знать (и понимать) C++ полностью невозможно, да и любой более-менее сложный код на нём красотой не блещет, да и в понятности слабоват.

А какой по вашему мнению ЯП блещет красотой кода и понятностью?

Share this post


Link to post

Short link
Share on other sites
ЯП блещет красотой кода и понятностью?

Ruby, Python, C#, D, Lua. Естественно, любой язык красив и понятен до того момента, пока не используются нестандартные методы.

Конечно, на любом ЯП можно писать красивый код, но эти языки, как мне кажется, максимально помогают с этим.

 

Какой язык является наиболее красивым и понятным для Вас?

Edited by Azbuka

Share this post


Link to post

Short link
Share on other sites

Какой язык является наиболее красивым и понятным для Вас?

Надеюсь таким для меня станет Rust. На данный момент красивый и понятный для меня Object Pascal.

Share this post


Link to post

Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...