Traveler 12 #300295 Posted November 22, 2015 (edited) Если вы через prototype создадите метод, то он появится у всех экземпляров класса Так еще раз..... У объектов в массиве изначально нет свойства value, так как не нужно оно там до определенного момента, да конечно проще было бы его определить в конструкторе изначально...... но значение этого свойства должен определять пользователь,а в какой момент это произойдет нам не известно....определить в конструкторе метод? тогда один и тот же метод будет дублироваться в коде несколько раз....а если объектов будет 1000000? но в прототипе возможно ведь хранить метод для его создания и записи значения в него? И объекты будут обращаться к нему по ссылке __proto . Верно я понимаю? Edited November 22, 2015 by Traveler Quote Share this post Link to post Short link Share on other sites
norkas 28 #300311 Posted November 22, 2015 (edited) но значение этого свойства должен определять пользователь,а в какой момент это произойдет нам не известно....определить в конструкторе метод? тогда один и тот же метод будет дублироваться в коде несколько раз....а если объектов будет 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 November 22, 2015 by norkas Quote Share this post Link to post Short link Share on other sites
Traveler 12 #300328 Posted November 22, 2015 (edited) Вы боритесь за память, или что? Пытался..... Если пользователь должен сам определять свойство `value`, то где-то в другом участке кода: Метод для определения этого свойства думал задать в прототипе. Но что - то не получилось сходу... В общем по замыслу сам объект должен содержать только 2 свойства: имя и количество например: var obj = { 'имя': 'молоко', 'количество': 50 } А уже что с этим молоком и его количеством будут делать, записать в прототипе...... можно конечно и в конструкторе.... Ведь на момент инициализации "молока" нам не важно что будет происходить с ним в дальнейшем..... Я, когда впервые задумался об изучении JS, работал на продуктовом складе.... и подумал в процессе изучения попробовать реализовать подобие складской логики на нем.... Своеобразное домашнее задание так сказать придумал для себя.... Справлюсь,значит добился результатов в изучение....но пока еще много книжек читать нужно,не все так просто как казалось бы... И так как изучаю самостоятельно, то по ходу возникновения вопросов обращаюсь за помощью на форум.... Edited November 22, 2015 by Traveler Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #312971 Posted February 8, 2016 Rust довольно крутой. Думаю заюзать его где-нибудь.Я никогда так не ошибался. С ходу написать что-то сложное на нем не вышло( Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #313023 Posted February 9, 2016 (edited) С ходу написать что-то сложное на нем не вышло Любой язык нужно изучать. Было бы странно, если бы Вы сразу на нём что-то сложное написали. Если бы и написали, то качество кода бы было не очень - нужно хорошо знать ЯП, чтобы писать максимально понятный и красивый код. Edited February 9, 2016 by Azbuka Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #313028 Posted February 9, 2016 Было бы странно, если бы Вы сразу на нём что-то сложное написали.С C++ именно так и было) Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #313040 Posted February 9, 2016 С C++ именно так и было) Если бы и написали, то качество кода бы было не очень - нужно хорошо знать ЯП, чтобы писать максимально понятный и красивый код. Хотя нет, это условие к C++ не подходит по двум причинам: знать (и понимать) C++ полностью невозможно, да и любой более-менее сложный код на нём красотой не блещет, да и в понятности слабоват. По похожей причине к Perl это условие тоже не подходит: любой код на Perl по-своему красив, но понять чужой код - невозможно. Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #313134 Posted February 10, 2016 Хотя нет, это условие к C++ не подходит по двум причинам: знать (и понимать) C++ полностью невозможно, да и любой более-менее сложный код на нём красотой не блещет, да и в понятности слабоват.А какой по вашему мнению ЯП блещет красотой кода и понятностью? Quote Share this post Link to post Short link Share on other sites
Azbuka 278 #313142 Posted February 10, 2016 (edited) ЯП блещет красотой кода и понятностью? Ruby, Python, C#, D, Lua. Естественно, любой язык красив и понятен до того момента, пока не используются нестандартные методы. Конечно, на любом ЯП можно писать красивый код, но эти языки, как мне кажется, максимально помогают с этим. Какой язык является наиболее красивым и понятным для Вас? Edited February 10, 2016 by Azbuka Quote Share this post Link to post Short link Share on other sites
SkepticalFox 1,445 #313143 Posted February 10, 2016 Какой язык является наиболее красивым и понятным для Вас?Надеюсь таким для меня станет Rust. На данный момент красивый и понятный для меня Object Pascal. Quote Share this post Link to post Short link Share on other sites