JavaScript基礎①開篇

前言

在暫停更新NDK系列之后,又一個系列文章拉開序幕,這個系列為不定期更新系列,所有文章大部分會利用公司的閑散時間完成,所以更新時間不確定。

當談到JavaScript的時候我們談什么 ? 記得剛上大學那會兒,本來報考的是軟件專業, 結果被調劑到了網站應用專業,語言也從Java換成了C#,開始了拖控件之旅 。相信學過web的都對JavaScript多少有點了解,說起JavaScript那是做網頁特效的好手,小到HTML元素的顯示與隱藏,大到各種炫麗的動畫效果,我們那時候,想要某種效果直接從網上找JavaScript,改吧改吧效果就出來了,那時候認識的JavaScript,基本上是做網頁特效的二流語言。

如今各種JavaScript庫滿天飛,各種領域都有所涉及,似有當年Java之風范 。比較有名的JavaScript庫,都有好幾個,比如:AngularJS , VueJS , RecatJS 等,現如今,微信小程序也是使用的JavaScript作為主程語言,作為新時代的程序員,這么牛叉的語言,不學學豈不是心里癢癢 。

JavaScript前世今生

JavaScript(1995)起初是由網景公司開發的,為實現瀏覽器豐富的頁面的效果,他可以實現服務端與客戶端無縫連接。

起初JavaScript只不過是作為網頁效果的實現者 , 后來隨著互聯網的極速發展,胖WEB客戶端出現 ,需要加載的數據異常龐大,JavaScript作為WEB客戶端語言,起初主要是實現網頁效果,簡單驗證,到后來的AJAX出來,使得異步數據傳輸成為可能,這也是現如今JavaScript大行其道的主要原因。

JavaScript標準

JavaScript遵循ECMAScript標準 , 但不限于ECMAScript定義的標準。ECMAScript定義了JavaScript的語法,類型,語句,關鍵字,保留字,操作符,對象

JavaScript包含ECMAScript DOM BOM

JavaScript基本使用

文檔嵌入

<script type="text/javascript">
        function sayHi() {
            alert("HI!!!");
        }

        function say() {
            alert("<\/script>"); // 使用\來進行script標簽轉義
        }
</script>

在網頁中使用<script></script>標簽在限定JavaScript代碼區域,<script></script>可以出現HTML文檔的任何區域,但是一般會在<head></head>中定義。

外部引入

除了在HTML文件中直接編寫JavaScript,還可以創建單獨的JavaScript文件,在HTML中進行引入(大多數情況下采取這種方式使用JavaScript)

// 外部引入js文件 .js擴展名不是必須的
<script type="text/javascript" src="example.js"> </script>

將JavaScript文件引用放在head標簽的時候,會阻塞html網頁的加載,html執行在body的時候,瀏覽器才會開始呈現內容。所以一般會將js外部加載放在html底部 。

    <html>

        <head>
            <title> example html page </title>
        </head>

        <body>
            <!-- body 內容 -->
            <!-- 將延遲加載的腳本放在底部 -->
            <script type="text/javascript" src="http://zhuyongit.com/demo1.js"> </script>
            <script type="text/javascript" src="http://zhuyongit.com/demo2.js"> </script>
        </body>

    </html>

JavaScript解析

所有的<script>元素都會按照它們在頁面中出現的先后順序依次被解析,在不使用defer和async屬性的情況下,只有解析完前面的<script>元素中的代碼后,才會開始解析后面的<script>元素中的代碼。

使用defer屬性可以讓腳本在文檔完全呈現之后再執行。延遲腳本總是按照指定它們的順序執行 <script type="text/javascript" defer="defer" src="http://zhuyongit.com/demo1.js"> </script>

使用async屬性可以表示當前腳本不必等待其他腳本,也不必阻塞文檔呈現,不能保證異步腳本按照順序執行 <script type="text/javascript" async src="http://zhuyongit.com/demo1.js"> </script>

結語

現在H5的普及程度已經遠遠超過以前,JavaScript的應用也越來越廣泛,H5也原生的支持JavaScript,特別是Canvas標簽,就是應JavaScript而生。

如今Android開發勢弱 , 跨平臺慢慢在興起 , 就如當年PC應用一樣 , 將會被WEB取代 ,雖然移動端與PC有一定的不同 , 但JavaScript作為一種跨平臺的語言 ,還是有學的必要 , 并且這么火的一門語言,不學心里癢癢。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容