Прежде всего, ваш код работает, и это правильный способ создания функции в JavaScript (за исключением jQuery), но поскольку вы объявляете функцию внутри другой функции (в данном случае анонимной), «MyBlah» не будет доступны из глобальной области видимости.
Вот пример:
$(document).ready( function () {
var MyBlah = function($blah) { alert($blah); };
MyBlah("Hello this works") // Inside the anonymous function we are cool.
});
MyBlah("Oops") //This throws a JavaScript error (MyBlah is not a function)
Это (иногда) желательное поведение, так как мы не загрязняем глобальное пространство имен , поэтому, если вам не нужно вызывать вашу функцию из другой части вашего кода, это путь.
Объявление его вне анонимной функции помещает его в глобальное пространство имен, и оно доступно отовсюду.
Наконец, $ в начале имени переменной не требуется, и иногда используется как соглашение jQuery, когда переменная является экземпляром самого объекта jQuery (необязательно в этом случае).
Может быть, вам нужно создать плагин jQuery , это очень легко и полезно, так как позволит вам сделать что-то вроде этого:
$('div#message').myBlah("hello")
См. Также: http://www.re -cycledair.com / creation-jquery-plugins