Это должно исправить:
jQuery(document).ready(function($){
//you can now use $ as your jQuery object.
var body = $( 'body' );
});
Проще говоря, WordPress запускает свои собственные скрипты, прежде чем вы сможете, и они освободят $
var, чтобы он не сталкивался с другими библиотеками. Это делает общий смысл, поскольку WordPress используется для всех видов веб-сайтов, приложений и, конечно, блогов.
Из их документации:
Библиотека jQuery, включенная в WordPress установлен в режим noConflict () (см. Wp-includes / js / jquery / jquery.js). Это необходимо для предотвращения проблем совместимости с другими библиотеками JavaScript, которые может связывать WordPress.
В режиме noConflict () глобальный $ shortcut для jQuery недоступен ...
blockquote>
"например, f 5 выполняет g x, а затем также выполняет h x"
blockquote>И что возвращает? Мы должны вернуть некоторое значение , так работает электронная оценка Хаскелла .
Если вам нужны значения обоих операторов, вы можете объединить их, поместив их в список:
f x = [ g x | x < 10 ] ++ [ h x | x < 15 ] ++ [ m x | True ]
Этот список будет содержать все результаты, для которых выражение справа от их [ 111] (список охранников понимания) оценить до
True
.++
добавляет два списка в один.True
тривиально оцениваетTrue
, поэтому может быть опущено:[ m x ]
.
В чисто функциональном программировании мы не выполняем операторы, как в императивном программировании. нет понятия «сделай это, тогда сделай это». Вместо этого мы в основном пишем функции, которые принимают несколько аргументов в качестве входных данных и возвращают некоторые выходные данные.
Что если мы хотим взаимодействовать с миром, а не просто вычислять возвращаемое значение? Ну, в данном конкретном случае мы прибегаем к монаде IO. Обратите внимание, что это не то, что мы делаем часто - мы предпочитаем избегать монады ввода-вывода в максимально возможной степени, чтобы сохранить большую часть вычислений в чистоте.
Вот пример:
f :: Int -> IO ()
f x = do
putStrLn "hello"
if x > 15
then putStrLn "> 15"
else putStrLn "not > 15"
if x > 10
then putStrLn "> 10"
else putStrLn "not > 10"
Если вы новичок, я бы рекомендовал вам изучить основы Haskell перед использованием монады IO. Повсеместное использование монады ввода-вывода привело бы к очень однотипному коду.
Большинство императивных программистов, изучающих FP, стараются перенести свои прежние привычки на языки FP - это очень распространено. Однако программирование с побочными эффектами и изменяемыми переменными плохо справляется с FP. Постепенно нужно перестать думать с точки зрения эффективных утверждений, и вместо этого перемонтировать свой мозг, чтобы мыслить с точки зрения ценностей и (часто рекурсивных) определений.
Обратите внимание, что FP не является особенным в этом аспекте. Если бы кто-то сначала выучил чистый FP, скажем, на Haskell, а затем подошел к какому-либо императивному языку программирования, они, вероятно, спросили бы: «Как использовать монаду состояний?». Даже если бы вы могли использовать монаду состояния в -say-Java, это было бы глупо, поскольку использование изменяемых переменных было бы гораздо более естественным. Опять же, программирование пытается внедрить свои предыдущие методы в новый язык / парадигму, игнорируя новые функции и создавая недиоматический код.