Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 10.08.2011, 13:02
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Ну приватные методы это те что не выходят за пределы объекта, тоесть по сути написав:
(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
Ответить с цитированием
  #12 (permalink)  
Старый 10.08.2011, 13:07
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

так, например
var myobject = new function(){
     var private = 'private';
     return {
         show : function(){ alert(private); }
     };
}

myobject.show()
Ответить с цитированием
  #13 (permalink)  
Старый 10.08.2011, 13:25
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

Этот способ я знаю.
Как то сам пытался вывесит alert'ом, то, что написал devote в своем последнем сообщении:
alert( blahblah.private1 ); // undefined

А как это можно сделать в рамках объекта?
Что то типа:
myobject = {
a = 5; // Как сделать ее приватной?
}

Мои мысли уходят примерно в это русло:
myobject = {
a : function(){ a = 5};
}

Как то так....
Ответить с цитированием
  #14 (permalink)  
Старый 10.08.2011, 13:26
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

никак
Ответить с цитированием
  #15 (permalink)  
Старый 10.08.2011, 13:34
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

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, 10.08.2011 в 13:39.
Ответить с цитированием
  #16 (permalink)  
Старый 10.08.2011, 13:37
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

melky,
Дык он про константы чтоль имел ввиду? Видимо я его не понял =)
Ответить с цитированием
  #17 (permalink)  
Старый 10.08.2011, 13:40
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

а там не константа

он хотел типа такого

a = {
   private string MyStr = "Mystring!";
}

MAKEMAGIC (  a.MyStr ); // YAHOO! -> "Mystring!"

Последний раз редактировалось melky, 10.08.2011 в 13:43.
Ответить с цитированием
  #18 (permalink)  
Старый 10.08.2011, 13:42
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от melky
а там не константа
быстро ты сменил первый вариант
Сообщение от melky
// prop типа приватная
типа
Ответить с цитированием
  #19 (permalink)  
Старый 10.08.2011, 13:43
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от devote Посмотреть сообщение
быстро ты сменил первый вариант
у меня есть привычка редактировать сообщения, после того, как их написал
Ответить с цитированием
  #20 (permalink)  
Старый 10.08.2011, 14:18
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

Сообщение от melky Посмотреть сообщение
а там не константа

он хотел типа такого

a = {
   private string MyStr = "Mystring!";
}

MAKEMAGIC (  a.MyStr ); // YAHOO! -> "Mystring!"
Да, типа такого и хотел!
Спасибо, поразбираюсь.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие div блока при первом визите на сайт Nushaba Общие вопросы Javascript 28 20.12.2013 21:24
Как передать переменную с jquery в php Максим2 jQuery 14 28.07.2013 11:38
Как убрать hover? Либо как сделать стрелки статичными? krusty36 Элементы интерфейса 1 13.07.2011 09:20
Как сделать переменную глобальной? AquaGen Общие вопросы Javascript 1 26.06.2011 13:55
Как сделать, чтобы при наведении на кнопку справа от нее появлялись текстовые ссылки? Tass Общие вопросы Javascript 7 17.02.2011 09:06