Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 12.12.2014, 17:24
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Переходите уже на новые стандарты
ES7:
let number = +(prompt("Введите число."));
alert([1, 2, 3].includes(number));

Полифилл:
if (![].includes) {
  Array.prototype.includes = function(searchElement/*, fromIndex*/) {
    if (this === undefined || this === null) {
      throw new TypeError('Cannot convert this value to object');
    }
    var O = Object(this);
    var len = parseInt(O.length) || 0;
    if (len === 0) {
      return false;
    }
    var n = parseInt(arguments[1]) || 0;
    var k;
    if (n >= 0) {
      k = n;
    } else {
      k = len + n;
      if (k < 0) k = 0;
    }
    while (k < len) {
      var currentElement = O[k];
      if (searchElement === currentElement ||
         (searchElement !== searchElement && currentElement !== currentElement)) {
        return true;
      }
      k++;
    }
    return false;
  }
}

---
Крутой, чем твой вариант лучше "~[1, 2, 3].indexOf(number)"?
Ответить с цитированием
  #12 (permalink)  
Старый 12.12.2014, 20:36
Аватар для bes
bes bes вне форума
Профессор
Отправить личное сообщение для bes Посмотреть профиль Найти все сообщения от bes
 
Регистрация: 22.03.2012
Сообщений: 3,744

Сообщение от tippula
Можно ли заменить на странице <h2>Zagolovok-1</h2>
не перерисовывая весь элемент в котором находиться h2 ?
судя по тому, что никто до сих пор не предложил, возможно не понял вопроса
<h1>Zagolovok-1</h1>
<button>click</button>
<script>
document.querySelector("button").addEventListener("click", function () {
	var h1 = document.querySelector("h1");
	if ( h1 ) {
		h1.outerHTML = "<h2>Zagolovok-2</h2>";
	}
	alert(document.querySelector("h2").innerHTML);
});
</script>


PS: Erolast, забыл кнопку run

Последний раз редактировалось bes, 12.12.2014 в 20:40.
Ответить с цитированием
  #13 (permalink)  
Старый 13.12.2014, 11:13
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

А includes пока только в FF Nightly реализован. Вот вместе с полифиллом рабочий пример:
if (![].includes) {
  Array.prototype.includes = function(searchElement/*, fromIndex*/) {
    if (this === undefined || this === null) {
      throw new TypeError('Cannot convert this value to object');
    }
    var O = Object(this);
    var len = parseInt(O.length) || 0;
    if (len === 0) {
      return false;
    }
    var n = parseInt(arguments[1]) || 0;
    var k;
    if (n >= 0) {
      k = n;
    } else {
      k = len + n;
      if (k < 0) k = 0;
    }
    while (k < len) {
      var currentElement = O[k];
      if (searchElement === currentElement ||
         (searchElement !== searchElement && currentElement !== currentElement)) {
        return true;
      }
      k++;
    }
    return false;
  }
}

alert([1, 2, 3, 4, 5, 6, 7, 8, 9, 10].includes(+(prompt("Введите число от 1 до 10."))));

Последний раз редактировалось Erolast, 13.12.2014 в 12:55.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX навигация без якоря(Требуется помощ) Radik55rus AJAX и COMET 11 14.08.2014 10:34
Замена подстрок без регулярных выражений truten Общие вопросы Javascript 14 24.06.2014 23:22
событье onclick как вызвать без клика и без подозрений... Александр_1997 Events/DOM/Window 0 21.06.2014 17:38
Замена контента в ячейке страницы без перезагрузки страницы SER Элементы интерфейса 1 24.03.2011 22:04
Открытие нового окна без скролбаров без верхнего бара "файл правка вид и тп" Mara Общие вопросы Javascript 2 18.02.2010 15:11