瀏覽器分類
1.以谷歌瀏覽器webkit內(nèi)核為主(V8引擎)
- 谷歌瀏覽器 Chrome
- 蘋果瀏覽器 Safari
- 國產(chǎn)瀏覽器
- 360普通瀏覽器
- 360極速瀏覽器
- 獵豹瀏覽器
- 搜狗瀏覽器
- QQ瀏覽器
- UC瀏覽器
- ...
歐朋瀏覽器 Opera (v14版本時(shí)候)
2.Gecko內(nèi)核
- 火狐瀏覽器 Firefox
3.Trident內(nèi)核
- IE瀏覽器
- IE6~8
- IE9~IE11
- IE Edge
開發(fā)者工具
打開開發(fā)者工具:F12 / FN+F12 (再或者瀏覽器頁面 -> 右鍵 ->檢查)
- Elements 包含了當(dāng)前頁面中所有的結(jié)構(gòu)和樣式捕发,基于它可以快速查看和調(diào)整頁面的樣式和結(jié)構(gòu)等
- Console 控制臺,在JS中扎酷,我們可以向控制臺輸出一些內(nèi)容法挨,來進(jìn)行項(xiàng)目的調(diào)試;如果項(xiàng)目程序出現(xiàn)問題凡纳,也可以在控制臺查看報(bào)錯信息惫企;也可以在控制臺編寫代碼陵叽,做一些測試...
- Network 包含了當(dāng)前頁面所有向服務(wù)器發(fā)送的HTTP請求信息,一般用于前后端數(shù)據(jù)交互中的BUG調(diào)試以及頁面中的性能優(yōu)化
- Sources 包含了當(dāng)前項(xiàng)目的原代碼
- Application 可以看到本地存儲的信息(Cookie/LocalStorage/SessionStorage...)以及當(dāng)前網(wǎng)站中所有加載的圖片等信息(抓取一些圖片下來)
- ...
- 開啟手機(jī)模擬器 Toggle Device Toolbar
職業(yè)習(xí)慣:打開瀏覽器頁面偏序,第一步就是F12打開控制臺
===================================
Web頁面由:
- HTML 搭建頁面結(jié)構(gòu)
- CSS 編寫頁面樣式
- JS 完成人機(jī)交互效果
- 基本的人機(jī)交互效果
- 頁面中具體效果的實(shí)現(xiàn)
- 頁面中動態(tài)數(shù)據(jù)的獲取和綁定
- 可能會操作瀏覽器的一些功能
- ...
=> JS是用來操作DOM和操作瀏覽器的
JS組成的三部分
- ECMAScript(ES3 / ES6~9) 定義了JS的語法規(guī)范:定義了語言本身的變量胖替、數(shù)據(jù)值豫缨、操作語句好芭、內(nèi)存管理...等內(nèi)容
- DOM(document object model)文檔對象模型:提供對應(yīng)的屬性和方法冲呢,可以讓JS操作頁面中的DOM元素
- BOM(browser object model)瀏覽器對象模型:提供操作瀏覽器的屬性和方法
注意:當(dāng)代項(xiàng)目開發(fā),一般都是基于Vue/React完成的敬拓,基于這兩個(gè)框架乘凸,我們已經(jīng)不去操作DOM了,我們操作數(shù)據(jù)营勤,由框架本身幫助我們完成DOM的操作
JS中的變量 variable [?ve?ri?bl]
變量:可變的量(其存儲的值是可變的)冀偶,設(shè)置一個(gè)變量(起個(gè)名字),讓其代表和指向某一個(gè)具體的值
1.JS中創(chuàng)建變量的幾種方式
- ES3:var
- ES6:let 进鸠、const
- function 創(chuàng)建函數(shù)
- class 創(chuàng)建一個(gè)類
- import / require 基于ES6Module或者Common.js規(guī)范導(dǎo)入模塊
// 1.基于VAR創(chuàng)建
var n = 10;
var m;
console.log(n, m); //=>10 undefined
// 2.基于ES6中的LET創(chuàng)建
let a = 100;
a = 200;
console.log(a); //=>200
// 3.基于ES6中的CONST創(chuàng)建(基于CONST定義的變量一般也被成為常量)客年;
const b = 1000;
b = 2000;
console.log(b); //=>Uncaught TypeError: Assignment to constant variable.
// 4.創(chuàng)建一個(gè)函數(shù)
function func() {}
console.log(func);
// 5.創(chuàng)建一個(gè)類
class Parent {}
console.log(Parent);
// 6.基于模塊規(guī)范來導(dǎo)入具體的某個(gè)模塊
import axios from './axios';
let axios = require('./axios');
2.變量命名的規(guī)范
- 嚴(yán)格遵循大小寫
//=>編寫代碼的時(shí)候一定要區(qū)分大小寫問題
let Test = 100;
console.log(test); //=>Uncaught ReferenceError: test is not defined
- 使用駝峰命名法
由有意義英文組成一個(gè)名字,第一個(gè)單詞首字母小寫司恳,其余每一個(gè)有意義的單詞首字母大寫
let studentInfomation = {
name: '珠峰培訓(xùn)'
};
let studentInfo = {};
//=>項(xiàng)目中常見的有特殊含義的端詞組
add / insert / create 新增/插入/創(chuàng)建
del / delete / remove 刪除/移除
update 修改
select / query / get 查詢/獲取
info 信息
...
- 命名規(guī)則:使用 “$绍傲、_、英文字母猎塞、數(shù)字” 命名
數(shù)字不能作為開頭
// 基于$開頭:一般代表使用JQ或者其它使用$的類庫獲取的內(nèi)容
let $box;
// 基于_開頭:一般代表是全局或者公共的變量
let _box = {};
// 基于數(shù)字區(qū)分相似名稱的變量
let box1 = 10;
let box2 = 20;
// 數(shù)字不能作為開頭
// let 2box = 10;
// 想要分隔單詞杠纵,可以使用_或者駝峰比藻,但是不能是-
// let box-list;
let box_list;
let boxList;
// 雖然不會報(bào)錯倘屹,但是強(qiáng)烈不推薦
let 盒子 = 100;
console.log(盒子);
- 不能使用關(guān)鍵字和保留字
關(guān)鍵字:在JS中有特殊含義的
保留字:未來可能會成為關(guān)鍵字的
// var var = 10;
JS中的數(shù)據(jù)類型
- 基本數(shù)據(jù)類型(值類型 / 原始值)
- 數(shù)字 number
- 字符串 string
- 布爾 boolean
- 空對象指針 null
- 未定義 undefined
- ES6新增的唯一值類型 symbol
- 引用數(shù)據(jù)類型
- 對象數(shù)據(jù)類型 object
- 普通對象 {}
- 數(shù)組對象 []
- 正則對象 /^$/
- 日期對象 new Date
- 數(shù)學(xué)函數(shù)對象 Math
- ...
- 函數(shù)數(shù)據(jù)類型 function
- 對象數(shù)據(jù)類型 object