您好,登錄后才能下訂單哦!
本篇文章為大家展示了Javascript動態(tài)語言有哪些特性,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
JavaScript是一門動態(tài)的,弱類型,基于原型的腳本語言。在JavaScript中“一切皆對象”,在這一方面,它比其他的OO語言來的更為徹底,即使作為代碼本身載體的function,也是對象,數(shù)據(jù)與代碼的界限在JavaScript中已經(jīng)相當模糊。雖然它被廣泛的應用在WEB客戶端,但是其應用范圍遠遠未局限于此。
Javascript動態(tài)語言有哪些特性
動態(tài)性是指,在一個Javascript對象中,要為一個屬性賦值,我們不必事先創(chuàng)建一個字段,只需要在使用的時候做賦值操作即可,如下例:
//定義一個對象
var obj=new Object();
//動態(tài)創(chuàng)建屬性name
obj.name="an object";
//動態(tài)創(chuàng)建屬性sayHi
obj.sayHi=function(){
return"Hi";
}
obj.sayHi();
加入我們使用Java語言,代碼可能會是這樣:
class Obj{
String name;
Function sayHi;
public Obj(Sting name,Function sayHi){
this.name=name;
this.sayHi=sayHi;
}
}
Obj obj=new Obj("an object",new Function());
動態(tài)性是非常有用的,這個我們在后面章節(jié)中詳細講解。
Javascript弱類類型特性
與Java,C/C++不同,Javascript是弱類型的,它的數(shù)據(jù)類型無需在聲明時指定,解釋器會根據(jù)上下文對變量進行實例化,比如:
//定義一個變量s,并賦值為字符串
var s="text";
print(s);
//賦值s為整型
s=12+5;
print(s);
//賦值s為浮點型
s=6.3;
print(s);
//賦值s為一個對象
s=new Object();
s.name="object";
print(s.name);
結(jié)果為:
text
17
6.3
Object
可見,Javascript的變量更像是一個容器,類似與Java語言中的頂層對象Object,它可以是任何類型,解釋器會根據(jù)上下文自動對其造型。
弱類型的好處在于,一個變量可以很大程度的進行復用,比如String類型的name字段,在被使用后,可以賦值為另一個Number型的對象,而無需重新創(chuàng)建一個新的變量。
不過,弱類型也有其不利的一面,比如在開發(fā)面向?qū)ο蟮腏avascript的時候,沒有類型的判斷將會是比較麻煩的問題,不過我們可以通過別的途徑來解決此問題。
Javascript有哪些解釋與編譯
通常來說,Javascript是一門解釋型的語言,特別是在瀏覽器中的Javascript,所有的主流瀏覽器都將Javascript作為一個解釋型的腳本來進行解析,然而,這并非定則,在Java版的Javascript解釋器rhino中,腳本是可以被編譯為Java字節(jié)碼的。
解釋型的語言有一定的好處,即可以隨時修改代碼,無需編譯,刷新頁面即可重新解釋,可以實時看到程序的結(jié)果,但是由于每一次都需要解釋,程序的開銷較大;而編譯型的語言則僅需要編譯一次,每次都運行編譯過的代碼即可,但是又喪失了動態(tài)性。
上述內(nèi)容就是Javascript動態(tài)語言有哪些特性,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。