Небольшое изменение в Function

193
09 ноября 2017, 07:38

Всем привет! Только-что возникла одна гениальная идея.. Но для этого мне нужно знать:

Возможно ли "поколдовать" с объектом Function так, чтоб при вызове неинициализированных функций происходил вызов какой-то функции?

Answer 1

Если ваша гениальная идея предполагает возможность наличия в коде вызова функции, которая не определена, то вам стоит пересмотреть свои приоритеты в жизни. JavaScript не типизирован, позволяет всячески пренебрегать правилами, но магию творить вне Хогвартса запрещено!

Вы можете обработать вызов функции, которой нет

function someFunction() { 
  console.log("2+2 =", 2 + 2) 
} 
 
try { 
  asd() 
} catch (e) { 
  if (e.message.indexOf('is not defined') > 0) { 
    someFunction() 
  } 
}

При вызове asd выкинется ReferenceError, который можно поймать и вызвать другую функцию

Можно объявить функцию перед выполнением или выполнить только если функция определена

// Определим до вызова 
if (typeof myFunc !== "function") { 
  function myFunc() { 
    console.log("2+2 =", 2 + 2) 
  } 
} 
myFunc() 
 
// Проверим до вызова 
if (typeof myFunc == "function") myFunc()

READ ALSO
Зачем angular выдаёт такую ошибку?

Зачем angular выдаёт такую ошибку?

Похоже на то, что это бага смэто и это

317
Как использовать функцию alert в JavaScript из Java servlet?

Как использовать функцию alert в JavaScript из Java servlet?

Есть сервлет из которого делаю redirect на другой html

297
Проблема с jQuery .parent()

Проблема с jQuery .parent()

Добрый День! На данный момент jQuery работает только с таблицей где находится "GroupName 1", которая находится за пределами div

254