JavaScript—基本語法
javaScript
我們有三門技術,被稱爲瀏覽器端頁面的三劍客
1 html 製作頁面
2 css 美化頁面
3 js 可以讓頁面的內容動態起來 給用戶更好的體驗效果
js概述
運行在瀏覽器端的一門語言,不需要編譯可以直接被瀏覽器解析執行
js這門語言基於瀏覽器 離不開瀏覽器
javascript和java的區別
都是一門語言,除了名稱有點相似,別的沒有關係
js:針對瀏覽器的開發語言 java:針對後臺業務的開發語言
js的組成部分:三部分
1 ECMA script: 所有javascript的核心語法 (變量 運算符 if for 函數..)
2 BOM:瀏覽器對象模型 JS把瀏覽器劃分成了多個對象 這些多個對象都可以幫你去操作瀏覽器 統一稱爲:BOM
3 DOM:文檔對象模型 js把整個html文檔劃分成了多個對象 這多個對象都可以幫你去操作html標籤 統一稱:DOM
學習語法:ECMA script
使用瀏覽器功能:BOM
使用文檔功能:DOM
js的引入方式
在頁面編寫js代碼,js的代碼的引入方式:有2種
1 內部方式
建議在<head></head>之間使用<script></script>來引入js代碼
<script></script>可以寫多個 順序執行:從上到下執行
2 外部方式
在外部創建一個js文件 編寫js代碼
在需要用到的頁面引入該js文件地址即可 格式:<script src="js文件地址">
js的小細節:
1 內部和外部可以共存 執行順序頁面從上到下執行
2 如果引入了外部的文件,在該script標籤下就不能在寫內部代碼了
3 js的註釋 (使用和java一樣)// /* */
4 js代碼可以沒有結尾分號,建議結尾加上
js的核心語法(ECMA script)
變量 運算符 流程控制語句 函數(方法)
1 變量
js定義變量統一使用關鍵字:var
特點:定義的變量是弱類型變量 可以接受不同的數據類型值
2 數據類型
1 原始類型
String ""/'' 例如: var a="aaa" 或 var a='aaa'
Number int/long/short/double/... 例如: var b=123 或 var b=123.123
boolean true/false 例如: var c=true 或 var c=false
object(null) null 例如: var d=null
undefined undefined 例如: var e;
測試以上5種數據類型:typeof(值):測試值類型
2 引用類型
就是js提供的一批內置對象,都是引用類型
3 運算符(不同點)
算術運算符 不同點:/ 除法運算會取小數位
賦值運算符 不同點:/= 除等運算也會取小數位
比較運算符 不同點:
== 等於 != 不等於 判斷的是值不會判斷類型
=== 恆等 !== 不恆等 既會判斷值還會判斷類型
邏輯運算符 && || ! 和java使用規律一致
三目運算符 不同點:名稱不一致 規律和三元運算符一致
4 流程控制語句(if for)
java怎麼用js就怎麼用
需求:完成一個9*9法表
js的debug使用
5 函數
分爲2種:聲明式(掌握) 匿名式(瞭解)
聲明式函數:
java方法: public 返回類型 方法名(參數...)
{
代碼;
[return 返回值]
}
js函數: function 方法名(參數...){
代碼
[return 返回值]
}
調用:方法名(參數...);
函數的特點:(面試題)
1 js的函數沒有重載一說 函數名相同,後面的會覆蓋前面的
2 js的函數可以傳遞多個參數,會自動創建一個數組,該數組會接受值,然後將數組的值給參數 數組的名稱:arguments
3 傳遞的參數可以是任意類型
ps:arguments開發中幾乎不用 但是可以用於看js框架的源碼
匿名式函數:
/*匿名式函數*/
var 變量名 = function(參數列表) {
函數體;
}
/*調用*/
變量名();
JS函數中變量的作用域(全局變量和局部變量)
全局變量可以在當前任意位置獲取到
局部變量只能在本函數中獲取到 在外部獲取不到
注意:如果局部變量去掉了var關鍵字 會默認轉換成全局變量 不建議使用這種方式 看到別人寫 能知道即可
定時器
輪播圖
JS的事件(重要)
觸發某些條件可以實現指定的功能
js提供的常見事件:
onclick 單擊事件
ondblclick 雙擊事件
onfocus 獲取焦點事件
onblur 失去焦點事件
onmouseover 鼠標移入到某個元素身上
onmouseout 鼠標移出到某個元素身上
onload 頁面加載事件
js的內置對象
1.Array數組對象
創建方式:
1.var arr1=[el,el,el,el]; 掌握
2.var arr2=new Array(); 瞭解 創建一個長度爲0的數組
3.var arr3=new Array(2); 瞭解 創建一個長度爲2的數組
4.var arr4=new Array(el,el,el); 瞭解 創建一個數組並賦值
js數組的特點:
1.數據可以是任意類型
2.數組的長度是動態可變的
3.數組的索引不存在角標越界行爲
js數組的方法:
1.concat() 將多個數組組成一個數組
2.reverse() 對數組中的內容進行反轉
3.sort() 對數組的內容進行排序
2.Date日曆對象
創建方式:
var date=new Date()
方法:
toLocaleString() 將日期變成當前日期的字符串格式
總結:
1 會在頁面導入js代碼(2種)
ECMASCRIPT
2 知道怎麼樣定義一個變量 以及變量的類型
3 運算符 流程控制語句要會使用
4 會定義各種函數以及知道函數的特點
5 輪播圖
DOM: document(write(..) getElementByID(..))
BOM: window(alert() setInterval(...))
6 js的事件
7 js的內置對象(Array date)
js的全局函數
特點:直接可以在之間使用方法 不需要對象調用
1.parseInt() 將字符串轉成number類型 只取整數 截取首字母之前的內容
2.parseFloat() 將字符串轉成number類型 取全部包含小數 截取首字母之前的內容
3.isNaN() 判斷是不是 不是一個數值
4.encodeURI() 可以將字符串轉化成utf-8編碼格式
5.decodeURI() 可以將utf-8編碼格式轉換成字符串