JavaScript與JScript是兩種常用的腳本編程語(yǔ)言,很多人可能在思考JavaScript與JScript有什么不同?這篇文章將介紹兩者的異同點(diǎn)。
JavaScript與JScript的區(qū)別在于它們實(shí)際上是兩種不同的名稱,但它們的核心語(yǔ)法和功能非常相似,都是用于在Web瀏覽器中編寫可交互的腳本。簡(jiǎn)單說來,JavaScript是Netscape公司推出的語(yǔ)言,而JScript則是微軟公司的版本。
舉個(gè)例子,像下面這段代碼,可以在所有的瀏覽器中使用。
var x = 10; var y = 5; var z = x + y; document.write(z);
但是,像下面這份代碼,只能在JavaScript中運(yùn)行,不能在JScript中運(yùn)行,因?yàn)镴avaScript支持的語(yǔ)法,JScript不一定支持。
var myFunc = new Function("alert('Hello World');"); myFunc();
JScript與JavaScript之間最大的區(qū)別在于它們的對(duì)象模型。在大多數(shù)情況下,兩種語(yǔ)言都遵循相同的規(guī)則,但是在一些方面,二者有一些細(xì)微的差別。
例如,創(chuàng)建XMLHttpRequest對(duì)象時(shí),JScript使用ActiveXObject,而JavaScript使用XMLHttpRequest。這里是JavaScript的代碼:
var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
而這里是JScript的代碼:
var xmlhttp; if (window.ActiveXObject) {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } else {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); }
此外,對(duì)于NaN(Not a Number),JScript返回值為true,而JavaScript返回false。還有,處理字符串時(shí),在JScript中使用的是COM(Component Object Model)對(duì)象,而JavaScript使用的是DOM(Document Object Model)對(duì)象。
總之,JavaScript與JScript之間沒有太大的差別。JScript更適合用于Windows環(huán)境下的IE瀏覽器中,而JavaScript則可以在任何Web瀏覽器中運(yùn)行。在編寫代碼時(shí),應(yīng)該對(duì)JavaScript和JScript都有一定的了解,并靈活地根據(jù)需要使用這兩種語(yǔ)言。