Я изучаю вещи с нуля и пытаюсь понять, как лучше получать значения из функций. Рассмотрим следующие примеры.Возвращаемое значение от имени функции
/* Screen Orientation Check */
function screenOrientation() {
var screenOrientationCheck = ($(window).width() > $(window).height())? 90 : 0;
console.log(screenOrientationCheck) ;
}
screenOrientation();
Выше дает мне ориентацию экрана.
/* Viewport Height Check */
function viewportHeight() {
var viewportHeightCheck = document.documentElement.clientHeight
console.log('viewportHeight = '+viewportHeightCheck);
};
viewportHeight();
Это даст мне высоту видового экрана.
Но теперь, если мне нравится работать с результатами этих функций, я не уверен, как это сделать.
if (viewportHeight() > 600) {
console.log('Hooray!!');
};
Например, это никогда не срабатывает.
if (screenOrientation() === 90) {
console.log('Hooray!!');
};
Аналогичным образом это также никогда не срабатывает.
Если мне нравится регистрироваться screenOrientationCheck
или viewportHeightCheck
, это undefined
, потому что переменные существуют только в пределах функции. Это я понял. Добавление return
к таким функциям, как показано ниже, также не делает трюк.
/* Viewport Height Check */
function viewportHeight() {
var viewportHeightCheck = document.documentElement.clientHeight
console.log('viewportHeight = '+viewportHeightCheck);
return viewportHeightCheck;
};
Я знаю, что это основной материал. Поэтому я сожалею, что потратил ваше драгоценное время на это.
Я пытаюсь понять, как я могу работать со значениями, созданными в функциях, и вызывать их снова и снова в коде вместо анонимных функций, выполняемых в ходе и только один раз.
Если у кого-то есть нервы, ответьте на это как можно подробнее, возможно, с примером, который в конце концов будет записывать Hooray!!
, и это будет хороший конец.
вопрос, чтобы спросить, как это отличается от ФОС последний пример, который, по-видимому, не работает? – Andy
Я выбрал это как ответ, потому что он использует переменную для значения 'return', как указано в моем вопросе. Хотя это также помогло мне показать, что @ [juliobetta] (https://stackoverflow.com/users/561610/juliobetta) отвечает с инструкцией функции за 'return'. У меня есть тот же самый код, так что кеш браузера не был полностью опустошен или страница перезагружена, или окно браузера слишком мало для пикселей, которые у меня были. После отправки вопроса я ушел на пару часов, перезагрузил страницу по возвращении (каламбур), и все было в порядке. Хотя это здорово, чтобы это подтвердилось. – lowtechsun