簡介:
JavaScript是目前web開發中不可缺少的腳本語言,js是解釋性語言,不需要編譯即可運行,運行在客戶端,需要通過瀏覽器來決議執行JavaScript代碼,
誕生于1995年,當時的主要目的是驗證表單的資料是否合法,
JavaScript本來應該叫Livescript,但是在發布前,想搭上當時超熱的java,臨時把名字改為了JavaScript,(也就是說js跟java沒有關系,當時只是想借助java的名氣),
特點:
- 互動性(它可以做的就是資訊的動態互動)
- 安全性(不允許直接訪問本地硬碟)
- 跨平臺性(只要是可以決議js的瀏覽器都可以執行,和平臺無關)
核心
(1)核心(ECMAScript):這一部分主要是js的基本語法,
(2)BOM:Brower Object Model(瀏覽器物件模型),主要是獲取瀏覽器資訊或操作瀏覽器的,例如:瀏覽器的前進與后退、瀏覽器彈出提示框、瀏覽器地址欄輸入網址跳轉等操作等,
(3)DOM:Document Object Model(檔案物件模型),此處的檔案暫且理解為html,html加載到瀏覽器的記憶體中,可以使用js的DOM技術對記憶體中的html節點進行修改,用戶從瀏覽器看到的是js動態修改后的頁面,(增刪改查)
書寫的3種方式
-
內嵌式:
理論上js可以書寫在頁面的任意位置,
<script> // js標簽內的js代碼 alert('Hello World!'); </script> -
外鏈式:
首先新建一個檔案型別為.js的檔案,然后在該檔案中寫js陳述句,通過script標簽對引入到html頁面中,
<script src="js檔案路徑地址">這里不能寫js陳述句</script> -
行內式:
直接書寫在標簽身上,是一個簡寫的事件,所以又稱之為事件屬性, onclick單擊事件
<input type="button" value="點我" onclick="alert('木有');"> <button onclick="alert('恭喜你,一個物件到手');">點我</button>
注釋
兩種注釋:單行注釋和多行注釋,注釋是用于表示解釋代碼的,并不會被執行,是給我們程式員看的,方便增刪改查……
//我是一個單行注釋
/*
我是
一個
多行
注釋
*/
變數
<script>
//定義變數
var num = 1;
var name = 'liusen'
</script>
萬物皆var
- js是弱型別語言,宣告的變數在賦值之前,并不知道是什么資料型別,賦值之后就會判斷其資料型別
- 沒有賦值的變數回傳的是undefined,表示空
命名規范:
- 首字符可以是數字,下劃線,美元符號,不可以是數字,其他字符可以是數字,字母,下劃線,$……
- 以$開頭的一般是jQuery庫或者其他類別庫宣告的變數
- object是物件型別的命名,變數以o開頭
- 首字符是下劃線的一般表示私有變數
- 駝峰命名,有多個單詞時,從第二個單詞開始首字母用大寫
- 不推薦使用中文或拼音,盡量通用且見名之意
條件控制
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
//定義變數
var num = 79;
var name = 'liusen'
//條件控制
if(num>60 && num<70){
alert('及格');
}else if(num>70 && num<80){
alert('良好');
}else{
alert('其他');
}
</script>
</head>
<body>
</body>
</html>
運行結果:

注意:Javascript是嚴格區分大小寫的
除錯:瀏覽器打開----檢查-----控制臺
Elements:元素
Console:控制臺
Sources:原始碼,除錯
Network:網路
Application:應用

打斷點除錯
資料型別
number:js不區分整數和小數
123 //整數
123.3 //浮點數
123e3 //科學計數法123000
-99 //負數
NaN //not a number
Infinity//無窮
字串
'abc' "abc"
'\n'
布林值
false
true
邏輯運算
&& //兩個都為真,結果為真
|| //一個為真,結果為真
! //真即假,假即真
比較運算子???
= //賦值
== //等于,型別不一樣,值一樣,也會判斷為true
=== //絕對等于,型別一樣值一樣,才會判斷為true
這是一個js的缺陷,堅持不要用==比較
- NaN與所有的數值都不相等,包括自己
- 只能通過 isNaN(NaN)來判斷這個數是否是NaN
浮點數問題:

盡量避免使用浮點數進行運算,存在精度問題
Math.abs(1/3-(1-2/3))<0.000000001
null和undefined
- null 空
- undefined 未定義
陣列
Java的陣列必須是相同型別的,js中不需要這樣!
//保證代碼的可讀性,盡量使用[]
var arr = [1,2,3,4,5,'hello',null,true];
new Array(1,2,3,4,5,'Hello');
陣列下標越界,會:

物件
var person = {
name:"liusen",
age:3,
ta:['js','CSS','html']
}
物件是一個大括號,陣列是中括號
每個屬性之間用逗號隔開,最后一個不需要添加
娶物件的值:
person.age
> 3
person.name
> "liusen"
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/291468.html
標籤:java
上一篇:基于Java+springmvc+mysql+jquery實作企業員工管理系統
下一篇:Java介面
