- Java is an OOP programming language while JScript is an OOP scripting language.
- Java has static typing; JScript's typing is dynamic. In dynamic typing, a variable can hold an object of any type and cannot be restricted.
- JScript is weakly typed while Java is strongly typed.
- Java is loaded from compiled bytecode; JScript is loaded as human-readable source code.
- Java's objects are class-based; JScript's are prototype-based.
- JScript has many functional programming features based on the Scheme language.
- Java creates applications that run in a virtual machine or browser while JScript code is run on a browser only or a Windows Script Host.
- Java code needs to be compiled while JScript code are all in text.
- Java is larger and a more complicated language. While, JScript is easier and more robust than Java.
- Java must be compiled into what is known as a "machine language" (of the Java Virtual Machine) before it can be run on the Web.
- Java constructors are special functions that can only be called at object creation; JScript "constructors" are just standard functions.
- Java requires all non-block statements to end with a semicolon; JScript inserts semicolons at the ends of certain lines.
- Java uses block-based scoping; JScript uses function-based scoping.
- Java has an implicit this scope for non-static methods, and implicit class scope; JScript has implicit global scope.
- JScript supports closures; Java can simulate sort-of "closures" using anonymous classes.
- All JScript functions are variadic; Java functions are only variadic if explicitly marked.
- JScript prototypes can be redefined at runtime, and has immediate effect for all referring objects. Java classes cannot be redefined in a way that affects any existing object instances.
- JScript allows methods in an object to be redefined independently of its prototype; methods in a Java object are tied to its class, and cannot be redefined at runtime.