Ну приватные методы это те что не выходят за пределы объекта, тоесть по сути написав:
(function(window){ // это приватные переменные var private1 = 2, private2 = 10; var lib = function() { // тут мы можем обратиться к приватным переменным return private1 * 2; } // итут можем // и в любом созданном методе в этом [[scope]] // ................ window.blahblah = lib })(window); alert( blahblah.private1 ); // undefined alert( blahblah.lib() ); // = 4 |
так, например
var myobject = new function(){ var private = 'private'; return { show : function(){ alert(private); } }; } myobject.show() |
Этот способ я знаю.
Как то сам пытался вывесит alert'ом, то, что написал devote в своем последнем сообщении: alert( blahblah.private1 ); // undefined А как это можно сделать в рамках объекта? Что то типа: myobject = { a = 5; // Как сделать ее приватной? } Мои мысли уходят примерно в это русло: myobject = { a : function(){ a = 5}; } Как то так.... |
никак
|
var a = { b : "hello!" }; Object.defineProperty( a , "prop", { value : "WTF?" }); // a.prop -> "WTF?" a.prop = "ololo"; // а теперь это "ololo" alert( a.prop ); for( var i in a ) alert( "a[ "+i+" ] = "+a[i] ); // prop типа приватная |
melky,
Дык он про константы чтоль имел ввиду? Видимо я его не понял =) |
а там не константа
он хотел типа такого a = { private string MyStr = "Mystring!"; } MAKEMAGIC ( a.MyStr ); // YAHOO! -> "Mystring!" |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Спасибо, поразбираюсь. |
Часовой пояс GMT +3, время: 17:35. |