前言
在暫停更新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作為一種跨平臺的語言 ,還是有學的必要 , 并且這么火的一門語言,不學心里癢癢。