文章出處

javascript不是什么

如《把時間當作朋友》的作者所說,“有些時候,有些事物,從反面描述比從正面描述更為容易。如若先仔細說清楚這本書不是什么,之后,至于它究竟是什么,很可能就不言自明了。”

javascript它不是一門靜態類型、靜態編程的語言,也不是一門服務器語言,更沒有像其他語言那樣有那么多的api,也沒有強制你一定要按照哪種規范去編寫代碼,它的繼承也不是像其他語言那樣通過extends來繼承。

怎么證明它不是什么

要搞懂它不是什么,就得先知道什么是靜態類型,什么是動態類型,什么是靜態編程,什么是動態編程語言。

1、靜態類型是指在定義變量時就需要去指定它的類型。而動態類型則指,我們不需要明確告訴程序這個變量的值是什么類型,因為它會自動根據值來判斷它是什么類型。
2、靜態編程語言是指在程序運行期,不可改變其變量的類型,而動態編程語言則可以。

我的理解是,我們常說的靜態語言和動態語言則是以上兩點的綜合體。

以下這段代碼就很好的解釋了javascript它是一門動態語言。

var str = "走近javascript";
console.log(str); //走近javascript
str = 123;
console.log(str); //123

javascript的繼承是通過原型來實現的,比如下面這段代碼

function A(){}
A.prototype.hello = function(){
  console.log("hello world");
};

function B(){}
B.prototype = A.prototype;

var c = new B();
c.hello(); //hello world

因c實例化B,又因B繼承自A的原型,因此c可以使用在A原型中的方法。

因javascript是一門客戶端語言,代碼在用戶的電腦上執行,因此就會出現一些類似應不應該讓編程人員去操作用戶計算機中的文件及讀取文件,如果可以那么是不是就意味著一些黑客可以通過javascript來傳播病毒并且盜取用戶信息,這也一直是客戶端語言中存在的問題。

我倒覺得可以像安裝手機app那樣,在操作用戶計算機文件時,詢問用戶是否同意。

參考資料

JavaScript的前世今生

JavaScript前世今生,HelloWorld與開發環境

什么是動態語言和靜態語言?


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()