JavaScript入門初體驗(yàn)書寫方式
javascript歷史
- 布蘭登艾奇( Brendan Eich ,1961年~)。
- 神奇的大哥在1995年利用10天完成 JavaScript 設(shè)計(jì)。
- 網(wǎng)景公司最初命名為 LiveScript ,后來在與 Sun 合作之后將其改名為 JavaScript 。(很大部分也是為了蹭Java的熱度)
javascript是什么?
- JavaScript 是世界上最流行的語言之,是一種運(yùn)行在客戶端的腳本語言( Script 是腳本的意思)。
- 腳本語言:不需要編譯,運(yùn)行過程中由 js 解釋器( js 引擎)逐行來進(jìn)行解釋并執(zhí)行。
- 現(xiàn)在也可以基于 Node.js 技術(shù)進(jìn)行服務(wù)器端編程。

javascript的作用
- 表單動(dòng)態(tài)校驗(yàn)(密碼強(qiáng)度檢測(cè))( JS 產(chǎn)生最初的目的)
- 網(wǎng)頁特效。
- 服務(wù)端開發(fā)( Node.js )。
- 桌面程序( Electron )(像你們用的vscode就是基于js開發(fā)的)。
- App ( Cordova )。
- 控制硬件﹣物聯(lián)網(wǎng)( Ruff )。
- 游戲開發(fā)(cocos2d-js)。
瀏覽器執(zhí)行js簡(jiǎn)介
瀏覽器分成兩部分:渲染引擎和 JS 引擎。
- 渲染引擎:用來解析 HTML 與 CSS ,俗稱內(nèi)核,比如 chrome 瀏覽器的 blink ,老版本的 webkit。
- JS 引擎:也稱為 JS 解釋器。用來讀取網(wǎng)頁中的 JavaScript 代碼,對(duì)其處理后運(yùn)行,比如 chrome 瀏覽器的V8。
注:瀏覽器本身并不會(huì)執(zhí)行 JS 代碼,而是通過內(nèi)置 JavaScript 引擎(解釋器)來執(zhí)行 JS 代碼。 JS 引擎執(zhí)行代碼時(shí)逐行解釋每一句源碼(轉(zhuǎn)換為機(jī)器語言),然后由計(jì)算機(jī)去執(zhí)行,所以 JavaScript 語言歸為腳本語言,會(huì)逐行解釋執(zhí)行。

javascript的組成

ECMAScript
ECMAScript 是由 ECMA 國(guó)際(原歐洲計(jì)算機(jī)制造商協(xié)會(huì))進(jìn)行標(biāo)準(zhǔn)化的一門編程語言,這種語言在萬維網(wǎng)上應(yīng)用廣泛,它往往被稱為 JavaScript 或 JScript ,但實(shí)際上后兩者是 ECMAScript 語言的實(shí)現(xiàn)和擴(kuò)展。

注: ECMAScript 規(guī)定了 JS 的編程語法和基礎(chǔ)核心知識(shí),是所有瀏覽器廠商共同遵守的一套 JS 語法工業(yè)標(biāo)準(zhǔn)。
- DOM一文檔對(duì)象模型
文檔對(duì)象模型( Document Object Model ,簡(jiǎn)稱 DOM ),是W3C組織推薦的處理可擴(kuò)展標(biāo)記語言的標(biāo)準(zhǔn)編程接口。通過 DOM 提供的接口可以對(duì)頁面上的各種元素進(jìn)行操作(大小、位置、顏色等)。
- BOM 一 瀏覽器對(duì)象模型
ВОМ( Browser Object Model ,簡(jiǎn)稱 BOM )是指瀏覽器對(duì)象模型,它提供了獨(dú)立于內(nèi)容的、可以與瀏覽器窗口進(jìn)行互動(dòng)的對(duì)象結(jié)構(gòu)。通過 BOM 何以操作瀏覽器窗口,比如彈出框、控制瀏覽器跳轉(zhuǎn)、獲取分辨率等。
javascript初體驗(yàn)
JS有三種書寫方式,分別為行內(nèi),內(nèi)嵌和外部。
行內(nèi)式
- 可以將單行或少量 JS 代碼寫在 HTML 標(biāo)簽的事件屬性中(以 on 開頭的屬性),如: onclick 。
- 注意單雙引號(hào)的使用:在 HTML 中我們推薦使用雙引號(hào), JS 中我們推薦使用單引號(hào)。
- 可讀性差,在 htmI 中編寫 JS 大量代碼時(shí),不方便閱讀。
- 引號(hào)易錯(cuò),引號(hào)多層嵌套匹配時(shí),非常容易弄混。
- 特殊情況下使用
可以寫進(jìn)三種標(biāo)簽里:
<button onclick="alert('這個(gè)小可愛真帥!')">我是button</button>
<input type="button" value="我是input" onclick="alert('這個(gè)小可愛真帥!')">
<a href="javascript:alert('這個(gè)小可愛真帥!')" rel="external nofollow" >我是a標(biāo)簽</a>


內(nèi)嵌JS
- 可以將多行 JS 代碼寫到< script >標(biāo)簽中。
- 內(nèi)嵌 JS 是學(xué)習(xí)時(shí)常用的方式 。
<script>
alert('我喜歡支持我的哥哥姐姐們!')
</script>

外部JS文件
- 利于 HTML 頁面代碼結(jié)構(gòu)化,把大段 JS 代碼獨(dú)立到 HTML 頁面之外,既美觀,也方便文件級(jí)別的復(fù)用。
- 引用外部 JS 文件的 script 標(biāo)簽中間不可以寫代碼。
- 適合于 JS 代碼量比較大的情況
<script src="1.js"></script>


結(jié)語
以上就是初識(shí) JavaScript的詳細(xì)內(nèi)容,更多關(guān)于初識(shí) JavaScript的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
JavaScript中構(gòu)造函數(shù)與原型鏈之間的關(guān)系詳解
在本篇文章里小編給大家分享了關(guān)于JavaScript中構(gòu)造函數(shù)與原型鏈之間的關(guān)系相關(guān)知識(shí)點(diǎn),需要的朋友們學(xué)習(xí)下。2019-02-02
以Python代碼實(shí)例展示kNN算法的實(shí)際運(yùn)用
這篇文章主要介紹了以Python代碼實(shí)例展示kNN算法的實(shí)際運(yùn)用,這里舉了一個(gè)用來預(yù)測(cè)豆瓣電影用戶的性別的例子,需要的朋友可以參考下2015-10-10
告訴你什么是javascript的回調(diào)函數(shù)
在javascript中回調(diào)函數(shù)非常重要,它們幾乎無處不在。像其他更加傳統(tǒng)的編程語言都有回調(diào)函數(shù)概念,但是非常奇怪的是,完完整整談?wù)摶卣{(diào)函數(shù)的在線教程比較少,倒是有一堆關(guān)于call()和apply()函數(shù)的,或者有一些簡(jiǎn)短的關(guān)于callback的使用示例。2014-09-09
關(guān)于JavaScript的Array數(shù)組方法詳解
這篇文章主要介紹了關(guān)于JavaScript的Array數(shù)組方法詳解,數(shù)組是一個(gè)固定長(zhǎng)度的存儲(chǔ)相同數(shù)據(jù)類型的數(shù)據(jù)結(jié)構(gòu),數(shù)組中的元素被存儲(chǔ)在一段連續(xù)的內(nèi)存空間中,它是最簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)之一,需要的朋友可以參考下2023-05-05
跨域請(qǐng)求的完美解決方法(JSONP, CORS)
下面小編就為大家?guī)硪黄缬蛘?qǐng)求的完美解決方法(JSONP, CORS)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06
JavaScript的函數(shù)式編程基礎(chǔ)指南
這篇文章主要介紹了JavaScript的函數(shù)式編程基礎(chǔ)指南,雖然JavaScript被許多人一再強(qiáng)調(diào)面向?qū)ο?但js中卻沒有類,而本文所展現(xiàn)的函數(shù)主導(dǎo)的js編程則同樣可以很爽,需要的朋友可以參考下2016-03-03

