總覽:
-
基礎語法
-
變量與運算符
-
對象與函數(shù)
-
DOM
-
基礎語法:
web中的三種語言曲掰,
HTML 定義了網(wǎng)頁的內(nèi)容邓线;
CSS 描述了網(wǎng)頁的布局夕晓;
JavaScript 網(wǎng)頁的行為麦牺。
JavaScript 是互聯(lián)網(wǎng)上最流行的腳本語言稀并,用途廣泛,不需要特殊軟件碟绑,由瀏覽器執(zhí)行,==對大小寫敏感茎匠,==
- 三種注釋:
//第一種
/*
第二種
*/
<script>
<!--第三種
-->
</script>
//換行
document.write("hello \
world!"); √
document.write \
("hello world!"); X
- 語法
//輸出文本
<h1>我的網(wǎng)頁</h1>
<p id="demo">我的第一個段落格仲。</p>
<script>
document.getElementById("demo").innerHTML = "你好 Dolly";
</script>
//輸出標題和段落
<h1>我的 Web 頁面</h1>
<p id="demo">一個段落。</p>
<div id="myDIV">一個 DIV诵冒。</div>
<script>
document.getElementById("demo").innerHTML="你好 Dolly";
document.getElementById("myDIV").innerHTML="你最近怎么樣?";
</script>
//
-
變量與運算符:
- 變量
JS中若未聲明凯肋,復制變量將自動聲明該變量,雖然JS并未強制必須提前聲明變量汽馋,但為了良好的習慣也要聲明
var name;
var age;
//或者
var name,age;
//
var name = "lalal",age = "18";
//良好變量習慣:駝峰法或下劃線區(qū)分
- 數(shù)據(jù)類型:
JS是弱類型語言侮东;以下在js中為合法
var age = "ten";
age = 10;
//數(shù)值,浮點數(shù)豹芯,負數(shù)
var num_1 = 2.33;
var num_2 = -22;
//布爾
var num_3 = true
/*
5 種數(shù)據(jù)類型:
string
number
boolean
object
function
3 種對象類型:
Object
Date
Array
2 個不包含任何值的數(shù)據(jù)類型:
null
undefined
*/
//查看數(shù)據(jù)類型typeof
typeof num_1 //返回 number
typeof num_3 //返回 boolean
- 數(shù)組:
var cars=new Array();
cars[0]="Saab";
cars[1]="Volvo";
cars[2]="BMW";
//或
var cars=new Array("Saab","Volvo","BMW");
- 事件:
<button onclick="getElementById('demo').innerHTML=Date()">現(xiàn)在的時間是?</button>
<p id="demo"></p>
- 運算符:
加+減-乘*除/悄雅,取模&自增++自減--
比較運算符:=賦值;==等于铁蹈;===絕對等于(數(shù)值和類型)宽闲;!=不等握牧;容诬!==不絕對等(值和類型有一個不相等,或兩個都不相等)
字符串可以相加沿腰。
數(shù)字與字符串相加览徒,結(jié)果將成為字符串。
txt1="What a very";
txt2="nice day";
txt3=txt1+txt2;
//txt3 = "What a very nice day"
// ""和''都可以
- 循環(huán):
JavaScript 支持不同類型的循環(huán):
for - 循環(huán)代碼塊一定的次數(shù)
for (var i=0; i<5; i++)
{
x=x + "該數(shù)字為 " + i + "<br>";
}
for/in - 循環(huán)遍歷對象的屬性
while - 當指定的條件為 true 時循環(huán)指定的代碼塊
do/while - 同樣當指定的條件為 true 時循環(huán)指定的代碼塊
- 異常:
- try 語句測試代碼塊的錯誤颂龙。
- catch 語句處理錯誤习蓬。
- throw 語句創(chuàng)建自定義錯誤。
var txt="";
function message(){
try {
adddlert("Welcome guest!");
}
catch(err) {
txt="本頁有一個錯誤措嵌。\n\n";
txt+="錯誤描述:" + err.message + "\n\n";
txt+="點擊確定繼續(xù)友雳。\n\n";
alert(txt);
}
}
//錯誤描述:adddlert is not defined
function myFunction() {
var message, x;
message = document.getElementById("message");
message.innerHTML = "";
x = document.getElementById("demo").value;
try {
if(x == "") throw "值為空";
if(isNaN(x)) throw "不是數(shù)字";
x = Number(x);
if(x < 5) throw "太小";
if(x > 10) throw "太大";
}
catch(err) {
message.innerHTML = "錯誤: " + err;
}
}
//通過判斷錯誤提示為自定義字符串
-
對象與函數(shù):
函數(shù):
可以發(fā)送任意多的參數(shù),由逗號分隔铅匹;當您聲明函數(shù)時押赊,請把參數(shù)作為變量來聲明;變量和參數(shù)出現(xiàn)順序需一致.
函數(shù)內(nèi)為局部變量,函數(shù)外為全局變量
function functionname()
{
執(zhí)行代碼
}
//帶參
function myFunction(var1,var2)
{
代碼
}
//帶返回值
function myFunction()
{
var x=5;
return x;
}
-
生命周期:
- JavaScript 變量的生命期從它們被聲明的時間開始流礁。
- 局部變量會在函數(shù)運行以后被刪除涕俗。
- 全局變量會在頁面關閉后被刪除。
<button onclick="myFunction('Bill Gates','CEO')">點擊這里</button>
<script>
function myFunction(name,job)
{
alert("Welcome " + name + ", the " + job);
}
</script>
- 對象:
對象也是一個變量神帅,但對象可以包含多個值(多個變量)再姑。
//類似python的字典
var car = {type:"Fiat", model:500, color:"white"};
//訪問屬性:
car.type;
//或
car["type"];
//對象方法
<p id="demo"></p>
<script>
//創(chuàng)建對象
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
//對象方法
fullName : function()
{
return this.firstName + " " + this.lastName;
}
};
//訪問對象方法
document.getElementById("demo").innerHTML = person.fullName();
</script>
//函數(shù)作用域:局部變量在聲明的函數(shù)外不可以訪問
-
DOM :
D:文檔
O:對象
M:模型
節(jié)點的概念:
5個常用的DOM方法:
getElementById,
getElementByTagName,
getElementByClassName,
getAttribute,
setAttribute