Javascript: What does the $ before the function mean? [duplicate] - javascript

This question already has answers here:
What is the purpose of the dollar sign in JavaScript?
(12 answers)
Closed 2 years ago.
What does the $ before the function mean in Javascript? I found this in a Javascript script for a Chromium extension.
$(function() {
$('#search').change(function() {
$('#bookmarks').empty();
dumpBookmarks($('#search').val());
});
});

This looks like jQuery but could also be any number of web frameworks.
$ is simply a variable (in this case a function) name, just like any other JavaScript variable name. It likely is also available and aliased as jQuery.
You can confirm and see the version using the below in a browser's developer console while on the website.
$ === jQuery
> true
$.fn.jquery
> "1.12.1"

It means it is a function of a JQuery object, a popular javascript library

This could be an Immediately-invoked Function Expressions with jQuery. $ is equal to 'jQuery'. With the immediate function, you can define variables inside the context of the function and avoid global variable definitions. As soon as jQuery loads this function executes.

Related

What does "+" means in +function($)? [duplicate]

This question already has answers here:
JavaScript plus sign in front of function expression
(4 answers)
Closed 5 years ago.
I had look at this question to know about what this means.
(function($) {
})(jQuery);
I am looking at different bootstrap plugins, which have +function ($), while defining the function.
What does + does here, does it appends this function to other functions ?
To guide the javascript parser, that the thing written near the unary operator + is an expression.
EDIT: You can create javascript functions anonymously. This is one of the syntaxes to create the same. By doing so, when they are called (i.e evaluated), they act like a returning a function value. You can read more from the second link which provides a good description of it.
This link explains it well
Once declared, if not named, these can be executed inline like IIFE (Immediately invoked function expressions) as well. And in this form, they can then be used to create plugins or used as namespaces and attached to window object or jquery object for use later.
Good sample file to see anonymous function code in action
http://www.programering.com/a/MTMwITMwATk.html
It's a bang function
the + operator is faster than usual !
see more at
javascript function leading bang ! syntax

how is that the jquery function can start with '$'? [duplicate]

This question already has answers here:
What is the meaning of "$" sign in JavaScript
(8 answers)
Closed 8 years ago.
if you declare a function in javascript, you can't use the '$' character in the name, so how is that jquery is able to do so? For example:
function myFunction() {
$("#h01").html("Hello jQuery")
}
$(document).ready(myFunction);
but if i declare a function as so:
function $(a){
// do something
}
javascript shows an error?
From the specification,
https://es5.github.io/#x7.6
IdentifierStart ::
UnicodeLetter
$
_
\ UnicodeEscapeSequence
$ is fine as a character in the name.
Demo, using the code in the question: http://jsfiddle.net/q02go7dd/
try
var $ = function(){
// do something
};
and you won't get an error.
$ is a short-handed alias for JQuery object itself.
So when you type,
$("#h01").html("Hello jQuery");
you are calling JQuery constructor with parameter "h01".
It's like declaring a function called dave and giving it an alias ß and calling it like that.
dave("h01");
$ is fine :
$myFunction = function(){ alert("hello"); }
$myFunction(); // alerts "hello"
Jquery is a wrapper which runs over javascript. In spite of using javascript large syntax, Jquery offer small syntaxs which is easy to use.
In Jquery $ sign return Jquery object.

Obtuse Javascript / jQuery coding style? [duplicate]

This question already has answers here:
What does the leading semicolon in JavaScript libraries do?
(6 answers)
What does this JavaScript/jQuery syntax mean?
(6 answers)
Closed 9 years ago.
I'm trying to understand an unusual library for controlling 3D CSS navigation. I'm reviewing the code, but I just don't understand the style.
The javascript code starts
;(function($) {
'use strict';
. . .
})(jQuery);
1) I'm really baffled by the leading semicolon, is there a reason for that?
2) I've never seen the format: (function($) { What am I looking at? Is this some sort of obtuse jquery format? I've seen lots of other formats relating to jquery.. e.g..
$(function() { // as shorthand for $( document ).ready()
but I've never seen (function($) before.. am I missing something?
3) Why is the 'use strict'; code there, if this is a jQuery code. Seems unusual.
4) Finally why is the {jQuery) code at the end of the function?
Oh, and for reference the code I'm looking at is http://www.jqueryscript.net/demo/Easy-jQuery-3D-Side-Menu-Plugin-with-CSS3-Box-Lid/
Many thanks, Zip.
1) This semicolon is here to make sure there will be no conflict when using minifiers, which adds all Javascript after each other. When combining multiple Javascript files it sometimes happens that a certain file has an error and "forgot" to end the last line with a semicolon. The semicolon makes sure the previous code line is ended.
2,4) (function($) { starts an anonymous function which is directly executed. What happens is the following. First we make an anonymous function like we always e.g.:
function($) {
}
In this function the $ is a function parameter. Now if we want to execute this function we need to enclose it in parentheses so it becomes:
(function($) {
});
Since we want to add the jQuery object as parameter for this functions we give it as a parameter like we do in every function:
(function($) {
})(jQuery);
3) Strict Mode is a new feature in ECMAScript 5 that allows you to place a program, or a function, in a "strict" operating context. This strict context prevents certain actions from being taken and throws more exceptions.
Read more information about strict mode at: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode and http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/

how does jquery make the $ do what it does? [duplicate]

This question already has answers here:
Immediate function invocation syntax
(3 answers)
Closed 9 years ago.
In order to use the $ symbol in jquery and not have to use jQuery.functionname, we use this
(function($) {
})(jQuery);
(In drupal, you actually have to specify this implicitly).
I don't understand this javascript syntax, why is there an initial parentheses? How is the (jQuery) at the end used?
It's just an anonymous function with an argument that's automatically invoked.
For example, if we were to expand it out a bit you'd end up with something like this:
var anon = function($) {
...
};
anon(jQuery);
The $ is a valid identifer in JavaScript and we pass in the existing jQuery object into the function for use through $, as it could be replaced later.
All that's doing is declaring an anonymous function and executing it immediately, passing in one argument (jQuery) into the function. That argument is given the name $ which can be used throughout the scope of the function.
The brackets around the function aren't strictly necessary in all contexts; see the comment under this answer for details. The gist is that they're needed here to make the function behave like an expression instead of a statement (function declaration).

meaning of $ sign in jquery document ready [duplicate]

This question already has answers here:
jQuery dollar sign ($) as function argument?
(4 answers)
Closed 9 years ago.
Normally when I am writing my jquery code I do something like
$(document).ready(function() {
// some code
});
I was looking at some code online and I noticed that the author did this
$(document).ready(function($) {
// some code
});
What is the use of the $ as the function parameter
jQuery calls the callback function with jQuery as the first argument. Javascript doesn't require you to define parameters that will be passed to your function so it's usually left out if it's not needed.
Here it seems weird because the author is already relying on $ being jQuery - you would normally expect it to be along the lines of:
jQuery(document).ready(function($) {
// $ works here even if someone changed the global `$`
// this breaks down if someone changed jQuery too but that's far less likely
});
The jQuery function is the value of jQuery or of $. It serves as a namespace so we can call it "The global jQuery object."
Buddy Please jquery documentation.Its well written and easy to understand . Any way i will tell you what is the $ sign. $ is a shortcut to the jQuery function. .
**$**(document).ready(function() {
// statements
});
Here $ represents jquery .You can use jquery instead of $ sign..
See this link Click here

Categories

Resources