Thursday, March 6, 2008

Javascript Overview

http://en.wikipedia.org/wiki/JavaScript

Javascript is a script language, used to provide functions that can be embedded or included in HTML documents. It supports most of the syntax from C like if, while, switch etc... It provides dynamic typing, the type of the variable is determined by the value, so we can change the type of the variable by assigning different types of value to it. Objects are associative arrays, such that the representation of an object object.x is equivalent to object["x"], so the values within the object can be add, change or deleted. Javasrcipt use prototypes instead of class when defining object properties, functions and method are the same, but if the function is call with an object, the this keyword is refer to the originated object.

Javascript support variadic functions, which is an indefinite number of parameters can be passed to a function. The function can both access them through formal parameters and the local arguments object. JavaScript also support regular expressions, which provide a concise and powerful syntax for text manipulation that is more sophisticated than the built-in string functions.

In order to execute Javascript, the browser who runs it must comes with a JavaScript engine, an interpreter, to interpret JavaScript source code and executes the script accordingly, since not all the browsers can run the JavaScript, so when we may need to test the compatibility of the browser before running the script.

Javascript mostly run at client's browser, client side application, so it can provide a quick response to user's action and is capable of detecting the user's action like keystrokes input, for which HTML alone is not able to handle it.

The web server, server side application, is another common application of the engine. A JavaScript webserver would expose host objects, typically created by public API, representing a HTTP request and response objects, which a JavaScript program could then manipulate to dynamically generate web pages.

JavaScript and the DOM provide the potential for malicious attack, including cross-site scripting. To counter the risk like that, first, scripts run in a sandbox in which they can only perform Web-related actions, not general-purpose programming tasks like creating files. Second, scripts are constrained by the same origin policy: scripts from one Web site do not have access to information such as usernames, passwords, or cookies sent to another site. Third, stick to the same origin policy.

No comments: