Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.12.2013, 19:43
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

vanilla.js.....
действительно очень легкий и мощный фреймворк!
http://s2.ipicture.ru/uploads/20131217/WLxmC3WP.png
http://s2.ipicture.ru/uploads/20131217/doHYgPjn.png

господа, wtf?
Вот суки, меня обманули... негодяи))
__________________
Научу себя плохому

Последний раз редактировалось l-liava-l, 17.12.2013 в 19:54.
Ответить с цитированием
  #2 (permalink)  
Старый 17.12.2013, 19:54
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от Maxmaxmaximus5
 
Регистрация: 14.12.2013
Сообщений: 129

Даша следопыт
Ответить с цитированием
  #3 (permalink)  
Старый 19.12.2013, 22:31
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Раз уж тема пустует, воспользуюсь случаем и задам вопрос: плохо ли так делать и если да, то почему?
/**
 * NULL IS NEW GLOBAL OBJECT
 */
this.Null = {
    /**
     * Returns "true" if a value is null
     * @param {*} v A value
     * @returns {Boolean}
     */
    isNull: function(v) {
        return v === null;
    }
};



/**
 * UNDEFINED IS NEW GLOBAL OBJECT
 */
this.Undefined = {
    /**
     * Returns "true" if a value is undefined
     * @param {*} v A value
     * @returns {Boolean}
     */
    isUndefined: function(v) {
        return v === undefined;
    },
    /**
     * Returns "true" if a value is defined
     * @param {*} v A value
     * @returns {Boolean}
     */
    isDefined: function(v) {
        return v !== undefined;
    }
};
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #4 (permalink)  
Старый 20.12.2013, 00:10
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Я просто в глобал спейс добавляю функции вида: isUndef и isNull
__________________
kobezzza
code monkey
Ответить с цитированием
  #5 (permalink)  
Старый 20.12.2013, 00:49
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
Раз уж тема пустует, воспользуюсь случаем и задам вопрос: плохо ли так делать и если да, то почему?
Я бы не стал так писать не очень очевидно(мне) + много когда

А это почти копипаст:
isUndefined: function(v) {
	        return v === undefined;
	    },
	    isDefined: function(v) {
	        return v !== undefined;

Я обычно пилю так
function is(type, variable) {
    return variable === type
}
is(undefined, 10);


Ну или как kobezzza тоже
__________________
Научу себя плохому
Ответить с цитированием
  #6 (permalink)  
Старый 20.12.2013, 01:09
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от l-liava-l
Я обычно пилю так
массивы как проверять будешь?

Сообщение от kobezzza
Я просто в глобал спейс добавляю функции вида: isUndef и isNull
разумно. С другой стороны есть логика вида
Constructor.IsConstructor(variable);

или
Type.IsType(variable);

и не хочется ее нарушать. Но null & undefined примитивы и не имеют конструкторов. Вместе с тем Number имеет...

Пока в раздумьях

Вот так получается https://github.com/nervgh/yum.js/blob/master/src/yum.js

Это "isDefined", конечно, надо убирать, а то взрыв мозга

... или сделать как сказал кобеза и добавить в глобал три функции

Сообщение от l-liava-l
А это почти копипаст
и что из этого?
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 20.12.2013 в 01:15.
Ответить с цитированием
  #7 (permalink)  
Старый 20.12.2013, 01:58
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

nerv_,
function is(str, obj) {
        
 var type = {}.toString.call(obj).toLowerCase();
     type = type.slice(7);
        

 return type.indexOf(str.toLowerCase()) != -1 && !(obj !== obj);
      
 }
      
      console.log(is("array", []));
      console.log(is("number", 3));
      console.log(is("number", "3"));
      console.log(is("object", undefined));


При желание можно сократить)

Date.isDate = function(v) {
    return is("Date", v);
};
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
  #8 (permalink)  
Старый 20.12.2013, 02:43
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

cyber, посмотри, сколько у тебя операций, и сколько у меня https://github.com/nervgh/yum.js/blo...rc/yum.js#L210 Как думаешь, есть разница в скорости? Кроме того, так я проверяю только объекты https://github.com/nervgh/yum.js/blo...rc/yum.js#L165 , кот. не определяются через typeof
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 20.12.2013 в 02:46.
Ответить с цитированием
  #9 (permalink)  
Старый 20.12.2013, 02:50
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

В большинстве случаев проверка типа объекта решается пересмотром архитектуры.
Может когда-нибудь TC-39 решат добавить перегрузку функций

Последний раз редактировалось monolithed, 20.12.2013 в 03:02.
Ответить с цитированием
  #10 (permalink)  
Старый 20.12.2013, 03:00
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

Сообщение от nerv_
Как думаешь, есть разница в скорости?
не буду отвечать на реторический вопрос)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием
Ответ



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

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