一、網頁的組成
- html(結構)
- HTML:超文本標記語言除了可以渲染和容納文字以外還可以容納圖片、音視頻等;
- XHTML:更加嚴謹的超文本標記語言;
- HTML5:基於HTML的基礎上增加許多強大並且非常實用的API;
- DHTML:網頁中的內容是通過JS動態綁定的;
- css(表現)
- css:層疊樣式表
- css3:源於css的基礎上增加了一些非常方便我們開發的樣式屬性,例如:border-radius:20px;可以實現盒子的屬性。
- javascript(行為)
- 一門輕量級的客戶端腳本編程語言,運行在客戶端,運行在瀏覽器上的語言,編程語言,都是面向對象來開發的。
書寫順序:先加載css, 再加載html代碼,保證頁面好看,最后在body的最后面加載js,因為js主要用來操作HTML元素的
二、javascript的作用
1.實現頁面產品中的交互效果,例如:我選中那個一個圖片,就展示對應的大圖(選項卡思想),局部導航定位,輪播圖等等,凡是能夠操作交互的一般情況都是需要JS處理。
2.把數據綁定到一個html頁面中,我們通過JS中提供的AJAX、JSONP技術,從后台服務器上獲取所需要的數據,並且綁定在頁面中呈現給用戶,以后只需要后台把數據更改了,前端頁面的數據會自動的跟着進行更改
3.用JS語言寫服務器后台,進行文件處理,數據存儲分析,業務邏輯處理等核心的操作(nodeJS)
三、js的引入方式
- 行內引入:安全性低
-
<div style="width: 300px;background: red; border-radius: 20px" onclick="alert('OK')">你好</div>
- 內嵌式:寫在script標簽中
- 外鏈式:通過script標簽的src屬性
-
1 document.write('<script src="js文件的路徑"></script>')
注意:我們使用外鏈式引入JS,通過src把外部文件引入到當前的HTML頁面,在它的<script>中間,不能在編寫任何的JS代碼了,即使寫了,不會起作用
-
<script src="js/index.js"> alert('我是外鏈式標簽塊中的代碼');//外鏈式標簽塊中不要寫任何js代碼,寫了不會報錯,肯定不執行 </script>
四、JS中的輸出方式
1、alert(要輸出的內容); 在瀏覽器中彈出一個框,在框中有我們要輸出的內容(不管最后輸出什么內容,輸出的都是字符串內容)
2、confirm:在瀏覽器中彈出一個提示確認框(confirm("確定要刪除嗎?"))
3、console.log(要輸出的內容); 按F12在控制台中的console頁卡中顯示(一般用於調試,不會影響頁面中的內容)
4、console.dir:他只是比.log輸出的內容更加詳細一些
5、console.table:他能把我們需要查看的數據在控制台中以一個表格的形式展示出來
6、document.write(我們要輸出的內容); 直接顯示在頁面中,不停的輸出
7、innerHTML/innerText 動態的向指定的元素中添加內容
五、JS的組成
- ECMAScript(定義了JS的基本語法,命名規范,操作語句,變量,數據類型等最基礎最核心的知識)
- DOM(document object model 文檔對象模型) 提供了JS操作頁面上元素的常用屬性和方法
- BOM(browser object model 瀏覽器對象模型) 提供了JS操作瀏覽器的常用屬性和方法
六、JS的命名規范
- 嚴格區分大小寫
var test = "hello";
console.log(test);
console.log(Test);//Uncaught ReferenceError: Test is not defined
- 使用駝峰命名法(匈牙利命名法)
- 第一個單詞的首字母小寫,其余每一個有意義的單詞的首字母都要大寫
- 只能使用數字、字母、下划線命名
- 數字不能作為名字的第一位
- 不能使用關鍵字和保留字(關鍵字就是在JS中有特殊含義的;保留字是未來可能會成為關鍵字的;)
在真實項目中我們一些約定俗稱的規范:
命名不要用拼音,不要縮減的太短,因為這兩類名字別人是很難看懂的
對於復雜的名字建議使用多個英文單詞拼接的方式
[前綴]
get/query 獲取
set/insert/add 增加插入
update/replace 修改替換
remove/del 刪除
[后綴]
Info 信息
Import 重要
七、JS中的變量
變量:可變的量,js中的變量是松散型的
變量的作用:存儲值和代表值
聲明一個變量:var 變量名 = 變量值 (注:通過var可以聲明任何類型的變量,只聲明不賦值,不知道這個變量是什么類型的;變量名不能用中文)