Today's Question:  What does your personal desk look like?        GIVE A SHOUT

 JAVASCRIPT


  Name resolution order in JavaScript

To understand what value a variable has in JavaScript, we need to understand some concepts such as scope and name resolution order.JavaScript has two scopes; one is program level and the other one is function level. Unlike in C,C++ or Java, JavaScript has no block level scope. So a variable defined in a if block will still be available outside. For example, the below example:var foo = 1;function bar() { if (true) { var foo = 10; } alert(foo);}bar();The alert will display 10 since the variable foo defined in the if block can been seen by the alert() function.Next we need to understand the name...

7,090 0       JAVASCRIPT SCOPE NAME RESOLUTION


  Load and execute JavaScript

When we load and execute JavaScript in a webpage, there are many points we need to care about because of its design and feature. There are two features about JavaScript execution in a browser: 1). The JavaScript codes will be executed immediately once loaded;2). When JavaScript codes are being executed, they will block the following contents (including page rendering and other resources downloading). So if there are multiple js files to be loaded, these codes will be executed sequentially.Since JavaScript codes may operate HTML DOM tree, browsers generally will not download js files in paralle...

9,308 0       JAVASCRIPT LOAD ASYNC DEFER EXECUTE


  How to be jQuery-free?

jQuery is now the most famous JavaScript library. There are around 57.3% websites in the world using jQuery, i.e, 6 out of 10 websites are using jQuery. If we only consider those websites which use libraries, then the percentage is even higher which is 91.7%.Although jQuery is very popular, its size is still a headache to many websites maintainers. The uncompressed jQuery 2.0 has a size of 235KB, the size is 81KB after optimization.The jQuery 1.8.3 which supports IE 6/7/8 has a uncompressed size of 261KB, the size is 91KB after optimization.It takes around 1 second to load this file, it may ta...

6,641 0       JAVASCRIPT JQUERY CSS3 ECMASCRIPT


  this in JavaScript in detail

this in JavaScript is always confusing, it is one of the most frequently seen traps in JavaScript. this is not a good design in JavaScript(You can refer some other design flaws of JavaScript here), since it's lazy binding feature, it can be a global object, the current object or.... Some people even avoid using this in JavaScript.Actually if you master how this works, then you will know how to stay away from these traps. Let's take a look at what this points to in below situations.1. In global scope codesalert(this)//windowthis will point to global object(usually it's window in web browsers) i...

3,122 0       JAVASCRIPT THIS BIND


  JSON in JavaScript

When sending an AJAX request to the server, the response can have two formats : XMLHttpRequest.responseXML to access data with XML format and XMLHttpRequest.responseText to access data with string format. XML is the standard data transfer format, but one weakness is it's troublesome to parse and retrieve the data.JSON(JavaScript Object Notation) is a light weight data interchange format, we call it the JavaScript object representation. The advantage of using JSON as the data format is itself is JavaScript. We can first get the data from server with XMLHttpRequest.responseText and then using Ja...

5,306 0       JAVASCRIPT JSON


  What is pjax and why we should use it?

What is pjax?Now many websites such as Facebook, Twitter support one browsing style which is when you click one link on their sites, the page will not be redirected, instead only the page contents are updated and URL on address bar is changed. This kind of user experience is much better compared to load the whole page with a blink.There is one important component in the above browsing experience, these websites' AJAX refresh support browser history, when refreshing the page, the address on the address bar will also get updated, and when we click back button we can go back to the previous page....

37,890 0       AJAX HISTORY PJAX


  Find max subarray of an array

In computer science, the maximum subarray problem is the task of finding the contiguous subarray within a one-dimensional array of numbers (containing at least one positive number) which has the largest sum. For example, for the sequence of values −2, 1, −3, 4, −1, 2, 1, −5, 4; the contiguous subarray with the largest sum is 4, −1, 2, 1, with sum 6.The problem was first posed by Ulf Grenander of Brown University in 1977, as a simplified model for maximum likelihood estimation of patterns in digitized images.&n...

10,640 0       MAX SUBARRAY DIVIDE AND CONQUER KADANE


  jQuery 2.0 gives up IE 6/7/8

jQuery 2.0 is released after 10 months development. jQuery 2.0 is customized for modern web browsers and also considers about mobile devices. But one big change is that jQuery 2.0 will not be  compatible with old versions of IE and its size is 10% less than the version 1.9.1. The execution efficiency is higher as well. jQuery 1.9.x will still be maintained by jQuery team, they will also provide update for it. Those websites which want to be compatible with all browsers should not upgrade to jQuery 2.0.From its official blog, jQuery team released some new features of jQuery 2.0:No more sup...

3,035 0       JQUERY 2.0 IE SUPPORT