In this JavaScript tutorial article, the author provides ten small JavaScript tips and tricks, mainly aimed for beginner and intermediate Javascript developers; also for web developers and web programmers that need good solutions in their JavaScript programming language works. List of these JavaScript snippets sorted by the author's experiment, such as:
1. Variables conversions
2. Converting decimals to hex or octals and vice versa
3. Playing with variable numbers
4. Passing arguments for function
Please go to the detailed post-page for full instructions & JavaScript example codes.
- Demo
- Enlarge
- Reload
- New window
Generate your business videos by AI with voice or just text
Your first FREE AI Video App! Automate Your First AI Video. Create Your Professional Video In 5 Minutes By AI No Equipment Or Video Editing Skill Requred. Effortless Video Production For Content Marketers.
It doesn't matter how many years I've been dealing with Javascript - it contains many little things that surprises me almost every week. For me, Javascript means a constant learning process.
In this article, I'll provide ten small Javascript tips, mainly aimed for beginner and intermediate Javascript developers. Hopefully there's at least one useful tip for every reader :).
1. Variables conversions
This sounds quite obvious, but as far I've seen, using object constructors, like Array() or Number() for converting variables is quite common practice.
Always use primitive data types (sometimes referred as literals) for converting variables. These won't do any extra tricks and they usually have better performance.
var myVar = "3.14159", str = ""+ myVar,// to string int = ~~myVar, // to integer float = 1*myVar, // to float bool = !!myVar, /* to boolean - any string with length and any number except 0 are true */ array = [myVar]; // to array
Converting to dates (new Date(myVar)) and regular expressions (new RegExp(myVar)) must be done with constructors. However, always use /pattern/flags when creating regular expressions.
2. Converting decimals to hex or octals and vice versa
Are you writing separate functions for hex (or octal) conversios? Stop. This can be easily done with existing methods:
(int).toString(16); // converts int to hex, eg 12 => "C" (int).toString(8); // converts int to octal, eg. 12 => "14" parseInt(string, 16) // converts hex to int, eg. "FF" => 255 parseInt(string, 8) // converts octal to int, eg. "20" => 16
3. More playing with numbers
In addition to previous section, here are some more small tricks with when dealing with numbers.
0xFF; // Hex declaration, returns 255 020; // Octal declaration, returns 16 1e3; // Exponential, same as 1 * Math.pow(10,3), returns 1000 (1000).toExponential(); // Opposite with previous, returns 1e3 (3.1415).toFixed(3); // Rounding the number, returns "3.142"
4. Javascript Version Detection
Are you aware which version of Javascript your browser supports? If not, check Javascript Versions sheet from Wikipedia.
For some reason, features in Javascript version 1.7 are not widely supported. However, most browsers released within a year support features in version 1.8 (and in 1.8.1).
Note: all the versions of Internet Explorer (8 and older) supports only Javascript version 1.5.
Here's a tiny script both for detecting the version of Javascript via feature detection. It also allows checking support for specific version of Javascript:
var JS_ver = []; (Number.prototype.toFixed)?JS_ver.push("1.5"):false; ([].indexOf && [].forEach)?JS_ver.push("1.6"):false; ((function(){try {[a,b] = [0,1];return true;}catch(ex) {return false;}})())?JS_ver.push("1.7"):false; ([].reduce && [].reduceRight && JSON)?JS_ver.push("1.8"):false; ("".trimLeft)?JS_ver.push("1.8.1"):false; JS_ver.supports = function() { if (arguments[0]) return (!!~this.join().indexOf(arguments[0] +",") +","); else return (this[this.length-1]); } alert("Latest Javascript version supported: "+ JS_ver.supports()); alert("Support for version 1.7 : "+ JS_ver.supports("1.7"));
5. window.name for simple session handling
This one is something I really like. You can assign values as a string for window.name property and it preserves the values until you close the tab or window.
Although I'm not providing any script, I strongly suggest you to take full advantage from it. For instance, it's very useful for toggling between debugging and (perfomance) testing modes, when building a website or an application.
- Sent (0)
- New