Acronym Definition
UMJS User Module Java Script
UMJS Union Markov Jump System
UMJS Universal Master of Juridical Studies
UMJS Union Measure for Job Satisfaction
UMJS Union Memorial Junior School
UMJS Union Military Judges Seminar
UMJS Union Milwaukee Journal Sentinel
JavaScript is a scripting language most often used for client-side web
development. "JavaScript" is an implementation of the ECMAScript standard.
JavaScript is a dynamic, weakly typed, prototype-based language with first-class
functions. JavaScript was influenced by many languages and was designed to have
a similar look to Java, but be easier for non-programmers to work with. The
language is best known for its use in websites (as client-side JavaScript), but
is also used to enable scripting access to objects embedded in other
applications.
Despite the name, JavaScript is unrelated to the Java programming language;
though both have a common debt to C syntax. The language was renamed from
LiveScript in a co-marketing deal between Netscape and Sun in exchange for
Netscape bundling Sun's Java runtime with their browser, which was dominant at
the time. JavaScript semantics is much more similar to the Self programming
language.
"JavaScript" is a registered trademark of Sun Microsystems, Inc. It was used
under license for technology invented and implemented by Netscape Communications
and current entities such as the Mozilla Foundation.
History and naming
Some JavaScript source codeJavaScript was originally developed by Brendan Eich
of Netscape under the name Mocha, later LiveScript, and finally renamed to
JavaScript. The change of name from LiveScript to JavaScript roughly coincided
with Netscape adding support for Java technology in its Netscape Navigator web
browser. JavaScript was first introduced and deployed in the Netscape browser
version 2.0B3 in December of 1995. The naming has caused confusion, giving the
impression that the language is a spinoff of Java; and has been characterized by
many as a marketing ploy by Netscape to give JavaScript the cachet of what was
then the hot new web-programming language.
To avoid trademark issues, Microsoft named its implementation of the language
JScript. JScript was first supported in Internet Explorer version 3.0, released
in August 1996 and included Y2K compliant date functions unlike JavaScript at
the time. Microsoft submitted JScript to ECMA for standardization resulting in
the standardized version named ECMAScript.
Language
Further information: JavaScript syntax
As of 2006, the latest version of the language is JavaScript 1.7. The previous
version 1.6 corresponded to ECMA-262 Edition 3 like JavaScript 1.5, except for
Array extras, and Array and String generics. ECMAScript, in simple terms, is a
standardized version of JavaScript. The ECMA-357 standard specifies E4X, a
language extension dealing with XML.
JavaScript is a prototype-based scripting language with a syntax loosely based
on C. Like C, the language has no input or output constructs of its own. Where C
relies on standard I/O libraries, a JavaScript engine relies on a host
environment into which it is embedded. There are many such host environment
applications, of which web technologies are the best-known examples. These are
examined first.
Use in Web pages
See also: Ajax (programming)
The primary use of JavaScript is to write functions that are embedded in or
included from HTML pages and interact with the Document Object Model (DOM) of
the page. Some simple examples of this usage are:
Opening or popping up a new window with programmatic control over the size,
position and 'look' of the new window (i.e. whether the menus, toolbars, etc.
are visible).
Validation of web form input values to make sure that they will be accepted
before they are submitted to the server.
Changing images as the mouse cursor moves over them: This effect is often used
to draw the user's attention to important links displayed as graphical elements.
Because JavaScript runs on the client rather than the server, it can respond to
user actions quickly, making an application feel more responsive. Furthermore,
JavaScript code can detect user actions which HTML alone cannot, such as
individual keystrokes. Applications such as Gmail attempt to take advantage of
this: much of the user-interface logic is written in JavaScript, and JavaScript
dispatches requests for information (such as the content of an e-mail message)
to the server. The wider trend of AJAX programming similarly seeks to exploit
JavaScript's strengths.
A minimal example of a Web page containing JavaScript would be:
<html>
<body>
<script type="text/javascript">
document.write('Hello World!')
</script>
</body>
</html>
Compatibility considerations
Main articles: Web Interoperability and Web accessibility
The DOM interfaces for manipulating Web pages are not part of the ECMAScript
standard, or of JavaScript itself. Officially, they are defined by a separate
standardization effort by the W3C; in practice, browser implementations differ
from the standards and from each other, and not all browsers execute JavaScript.
To deal with these differences, JavaScript authors can attempt to write
standards-compliant code which will also be executed correctly by most browsers;
failing that, they can write code that checks for the presence of certain
browser features and behaves differently if they are not available. In some
cases, two browsers may both implement a feature but with different behavior,
and authors may find it practical to detect what browser is running and change
their script's behavior to match.
Furthermore, scripts will not work for all users. For example, a user may:
use an old or rare browser with incomplete or unusual DOM support,
use a PDA or mobile phone browser which cannot execute JavaScript,
have JavaScript execution disabled as a security precaution,
or be visually or otherwise disabled and use a speech browser
To support these users, Web authors can try to create pages which degrade
gracefully on user agents (browsers) which do not support the page's JavaScript.
Security
JavaScript and the DOM provide the potential for malicious authors to deliver
scripts to run on a client computer via the Web. Browser authors contain this
risk using two restrictions. 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. Most JavaScript-related security
bugs are breaches of either the same origin policy or the sandbox.
Cross-site vulnerabilities
Main articles: Cross-site scripting and Cross-site request forgery
A common JavaScript-related security problem is cross-site scripting, or XSS, a
violation of the same origin policy. XSS vulnerabilities occur when an attacker
is able to cause a trusted Web site, such as an online banking website, to
include a malicious script in the webpage presented to a victim. In that
example, the script can then access the banking application with the privileges
of the victim, potentially disclosing secret information or transferring money
without the victim's authorization.
XSS vulnerabilities can also occur because of implementation mistakes by browser
authors. .
XSS is related to, but not the same as, cross-site request forgery or XSRF. In
XSRF, one website causes a victim's browser to generate fraudulent requests to
another site, with the victim's legitimate HTTP cookies attached to the request.
JavaScript hijacking is an important example of XSRF.
Misunderstanding the client-server boundary
Client-server applications, whether they involve JavaScript or not, must assume
that untrusted clients may be under the control of attackers. Thus any secret
embedded in JavaScript could be extracted by a determined adversary, and the
output of JavaScript operations should not be trusted. Some implications:
Web site authors cannot perfectly conceal how their JavaScript operates because
the code is sent to the client and obfuscated code can be reverse engineered.
JavaScript form validation only provides convenience for users, not security. If
a site verifies that users agreed to the terms of service, or filters invalid
characters out of fields that should contain numbers, it must do so on the
server, not only the client.
It would be extremely bad practice to embed a password in JavaScript (where it
can be extracted by an attacker), then have JavaScript verify a user's password
and pass "password_ok=1" back to the server (since the "password_ok=1" response
is easy to forge).
Browser and plugin coding errors
JavaScript provides an interface to a wide range of browser capabilities, some
of which may have flaws such as buffer overflows. These flaws can allow
attackers to write scripts which would run any code they wish on the user's
system.
These flaws have affected major browsers including Firefox , Internet Explorer ,
and Safari.
Plugins, such as video players, Macromedia Flash, and the wide range of ActiveX
controls enabled by default in Microsoft Internet Explorer, may also have flaws
exploitable via JavaScript, and have in the past. In Windows Vista, Microsoft
has attempted to contain the risks of bugs such as buffer overflows by running
the Internet Explorer process with limited privileges.
Sandbox implementation errors
Web browsers are capable of running JavaScript outside of the sandbox, with the
privileges necessary to, for example, create or delete files. Of course, such
privileges aren't meant to be granted to code from the Web.
Incorrectly granting privileges to JavaScript from the Web has played a role in
vulnerabilities in both Internet Explorer and Firefox . In Windows XP Service
Pack 2, Microsoft tightened the rules on what JavaScript would be run with high
privileges by Internet Explorer.
Some versions of Microsoft Windows allow JavaScript stored on a computer's hard
drive to run as a general-purpose, non-sandboxed program. This makes JavaScript
(like VBScript) a theoretically viable vector for a Trojan horse, although
JavaScript Trojan horses are uncommon in practice. (See Windows Script Host.)
Uses outside Web pages
Outside of the Web, JavaScript interpreters are embedded in a number of tools.
Adobe Acrobat and Adobe Reader support JavaScript in PDF files. The Mozilla
platform, which underlies several common web browsers, uses JavaScript to
implement the user interface and transaction logic of its various products.
JavaScript interpreters are also embedded in proprietary applications in order
to provide scriptable interfaces. Dashboard Widgets in Apple's Mac OS X v10.4
and Yahoo! Widgets are implemented using JavaScript. Microsoft's Active
Scripting technology supports the JavaScript-compatible JScript as an operating
system scripting language. Tools in the Adobe Creative Suite, including
Photoshop, Illustrator, Dreamweaver and InDesign, allow scripting through
JavaScript.
An ECMAScript implementation called Qt Script for Applications is available with
the Qt application development toolkit.
The interactive music signal processing software Max/MSP released by Cycling
'74, offers a JavaScript model of its environment for use by developers. It
allows much more precise control than the default GUI-centric programming model.
The Java programming language, in version SE 6 (JDK 1.6), introduced the
javax.script package, based on Mozilla Rhino. This allows Java applications to
read, interpret and execute JavaScript scripts at run-time. The Java developer
can make objects and variables that are part of the host application available
to the JavaScript code using a Bindings object. These aspects of the running
application can then be accessed and manipulated at run-time from JavaScript in
a similar manner to the way that client-side scripts access the DOM of a
displayed page in a web browser.
JavaScript OSA (JavaScript for OSA, or JSOSA), is a scripting language for Mac
OS based on the Mozilla 1.5 JavaScript implementation, SpiderMonkey. It is a
freeware component made available by Late Night Software. Interaction with the
operating system and with third-party applications is scripted via a MacOS
object. Otherwise, the language is virtually identical to the core Mozilla
implementation. It was offered as an alternative to the more commonly used
AppleScript language.
ActionScript, the programming language used in Adobe Flash, is another
implementation of the ECMAScript standard.
Each of these applications provides its own object model which provides access
to the host environment, with the core JavaScript language remaining mostly the
same in each application.
Debugging
JavaScript debugging has some specifics in comparison with stand-alone
applications. JavaScript programs usually rely on interaction with the loaded
page's Document Object Model (DOM) so errors may be caused by wrong DOM usage in
a technically correct script. This makes JavaScript errors difficult to find.
However, currently both Internet Explorer and Gecko-based browsers come with a
JavaScript debugger. Gecko browsers use the Venkman debugger or the Firebug
plug-in for Mozilla Firefox.
Opera announced a debugging developer tool in a preview released in February
2007. Client-side JScript in Internet Explorer can be debugged with Microsoft
Script Debugger. Some client-side JavaScript errors might depend on specific
client side conditions such as browser version, user input or other installed
software.
Microsoft Visual Studio can be used to debug server-side and command-line
JScript. Microsoft also provides Microsoft Script Editor (MSE) as part of their
Microsoft Office package for scripts embedded in Microsoft Office documents.
There are also some free tools such as JSLint, which will scan JavaScript code
looking for problems, as well as a professional JavaScript Debugger called
SplineTech JavaScript Debugger. A debugger for the engine powering Apple's
Safari, Webkit is also available under the name Drosera.
Since JavaScript is interpreted, loosely-typed, and, when run at the
client-side, may be hosted in varying environments, applications,
implementations and versions, the programmer has to take extra care to make sure
the code executes as expected in as wide a range of circumstances as possible,
and that functionality degrade gracefully when it does not.
Each script block is parsed separately. On web pages where JavaScript in script
blocks is mixed with HTML, syntax errors can be identified more readily by
keeping discrete functions in separate script blocks, or (for preference), using
many small linked .js files. This way, a syntax error will not cause
parsing/compiling to fail for the whole page, which can help to allow a graceful
exit.
Related languages
There is no relationship between Java and JavaScript; their similarities are
mostly in basic syntax because both are ultimately derived from C. Their
semantics are quite different and their object models are unrelated and largely
incompatible. Like C and C++, all Java variables and members are statically
typed, whereas all JavaScript variables (as well as object properties and array
elements) may hold a value of any type.
The standardization effort for JavaScript also needed to avoid trademark issues,
so the ECMA 262 standard calls the language ECMAScript, three editions of which
have been published since the work started in November 1996.
Microsoft's own VBScript, like JavaScript, can be run client-side in web pages.
VBScript has syntax derived from Visual Basic and will only run if the web pages
are viewed in Internet Explorer.
JSON, or JavaScript Object Notation, is a general-purpose data interchange
format that is defined as a subset of JavaScript.
ECMAScript was included in the VRML97 standard for scripting nodes of VRML scene
description files.
JavaScript is also considered a functional programming language like Scheme and
OCaml because it has closures and supports higher-order functions.

RuneScape is a Java-based
MMORPG operated by Jagex Ltd. With over nine million active free accounts and
more than one million paid member accounts, RuneScape is rated among the most
popular online games in the world. More than five million unique players access
their accounts to play RuneScape at least once per month. RuneScape offers both
free and subscription content and is designed to be accessible from any location
with an Internet connection and to run in an ordinary web browser without
straining system resources. One of the best website that discussed various
gamers' issues is IJFG.com IJFG.COM
Internet Junction For Gamers Internet Junction
For Gamers, Runescape Market and More IJFG.COM This site has Jokes, Pranks, Runescape and other cool games at IJFG.COM. RuneScape is set in a medieval
fantasy world, similar to "Guild Wars" or "EverQuest", where players control
character representations of themselves. As with most massive multiplayer online roleplaying games (MMORPG), there is no overall objective or end to the game.
Players explore, form alliances, perform optional tasks, and complete quests for
rewards and to build character's skills.
Internet Junction For Gamers, Runescape Market and More. IJFG.com IJFG.com
RuneScape takes place in the fantasy-themed realm of Gielinor, which is divided
into several different kingdoms, regions, and areas. Players can travel
throughout the gaming world on foot, by using magical teleportation spells or
devices, or mechanical means of transportation. Each region offers different
types of monsters, materials, and quests to challenge players. Players are shown
on the screen as customisable avatars. They set their own goals and objectives,
deciding which of the available activities to pursue. There is no linear path
that must be followed. Players can engage in combat with other players or with
monsters, complete quests, or increase their experience in any of the available
skills. Players interact with each other through trading, chatting, or playing
combative or cooperative mini-games.
Internet Junction For Gamers, Runescape Market and More IJFG.COM
IJFG.com
Contact Information
Call our office today to set up an appointment. Learn more about how we can
help you, and learn more about the other services that we can offer you. All
messages we receive will be answered as soon as possible. We look forward to
hearing from you.
- Electronic mail
- General Information:
