溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Javascript動態(tài)語言有哪些特性

發(fā)布時間:2021-09-30 16:26:11 來源:億速云 閱讀:151 作者:柒染 欄目:開發(fā)技術(shù)

本篇文章為大家展示了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è)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(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)容。

AI