A.今天你學(xué)到了什么
1.注釋的分類用法
//單行注釋
/* */多行注釋
2.標(biāo)識(shí)符
變量耘子,函數(shù),屬性的名字或者函數(shù)的參數(shù)
命名規(guī)則:
a. 由字母,數(shù)字,下劃線,美元符號(hào),組成
b. 不能以數(shù)字開(kāi)頭
c. 不能使用關(guān)鍵字较曼,保留字
3.變量
3.1 'javascript'的變量是松散類型。可以儲(chǔ)存任何類型的數(shù)據(jù)
3.2 使用'var'關(guān)鍵字進(jìn)行聲明
3.3 變量可以先聲明再賦值必逆,也可以在聲明的同時(shí)賦值
var a;
a=10; //或者
var a=10;
4.數(shù)據(jù)類型
4.1 原始類型
4.1.1 number類型
var a=10; var a =10.14;
4.1.2 string類型
用單引號(hào)或者雙引號(hào)包裹
var a="hello world";
var b='good';
4.1.3 boolean類型
只有兩個(gè)值,true false
var a=true;
var b=false;
4.1.4 undefined類型
var a; 一個(gè)變量未賦值就是undefined
4.1.5 null類型
1. null 表示一個(gè)空對(duì)象
2.如果定義一個(gè)變量準(zhǔn)備保存一個(gè)對(duì)象揽乱,最好將變量初始化為null,而不是其他值
4.2 引用數(shù)據(jù)類型
包括:array名眉,object,function
4.2.1 array數(shù)組
1.聲明變量
var arr=[1,3,5];
2.獲取數(shù)組長(zhǎng)度
arr.lenght
3.讀取數(shù)組的某一個(gè)值凰棉,通過(guò)數(shù)組的下標(biāo)损拢,下標(biāo)從0開(kāi)始
arr[index];
4.向數(shù)組的末尾添加值,jS中可以直接添加
arr[arr.lenght]=5;
4.2.2 object 對(duì)象
1.聲明一個(gè)對(duì)象
var obj={
name:"libai";
agr:20;
}
2.獲取變量的屬性
console.log(obj.name);
4.2.3 function
定義:封裝特點(diǎn)功能的代碼塊
1.聲明函數(shù)
function say(){
console.log("i kan say");
}
2.調(diào)用函數(shù)
say();
5. 聲明提前
在正式執(zhí)行腳本前,先將所有var聲明的變量撒犀,提前預(yù)讀到當(dāng)前作用域
頂部福压,集中聲明創(chuàng)建。然后在執(zhí)行程序或舞。
賦值留在本地
eg:
console.log(a);//undefined
var a=10;
6.typeof
獲得變量的數(shù)據(jù)類型
var a =10;
console.log(typeof a); //number
var arr=[2,3];
console.log(typeof arr); //true
7.全局變量與局部變量
全局變量: 在函數(shù)外聲明的變量
局部變量:在函數(shù)內(nèi)部聲明的變量
8.數(shù)據(jù)類型的轉(zhuǎn)換
8.1 強(qiáng)制轉(zhuǎn)換
1.任意轉(zhuǎn)換為number:number();
其中number(true); //1
number(false); //0
2.Number 只能識(shí)別數(shù)字類型的字符串
str a="20px";
parseInt(a); //20;
Number(a); //NaN
3.任意轉(zhuǎn)換為字符串
x.toString();x不為undefied或者null時(shí)荆姆,才可用
String (x);
4.任意值換換為boolean
只有五個(gè)值轉(zhuǎn)為false;
"" NaN undefined null 0
其余都轉(zhuǎn)為true;
8.2自動(dòng)轉(zhuǎn)換
// 算術(shù)計(jì)算中的自動(dòng)轉(zhuǎn)換+ - * / %
// 先轉(zhuǎn)換為Number(),再計(jì)算
var a=10;
var b=true;
var c=a-b; //9
var d ="hello";
// 當(dāng)算術(shù)符號(hào)為“+” 時(shí)映凳,加入一方為字符串時(shí)胆筒,則直接字符串重組。
var e=a+d; //10hello
9.運(yùn)算符合表達(dá)式
1.算術(shù)運(yùn)算符
+ - * / % ++ --
2.比較運(yùn)算符,返回值為true诈豌,false
< ,>,<=,>=,==,!=
3.邏輯運(yùn)算 將多個(gè)關(guān)系式運(yùn)算結(jié)合起來(lái)仆救,返回true,false
&& || !
4.賦值運(yùn)算
+= -= *= /= %=
5.三目運(yùn)算
var a=(10>4)?10:4;
10.遞增和遞減
1.遞增
++a ;++a
1.1單獨(dú)運(yùn)算矫渔,都會(huì)自增1
1.2在表達(dá)式中使用
++a ; a 先自增在運(yùn)算
a++; a 先運(yùn)算在自增
11.數(shù)組的遍歷和獲取對(duì)象值
var arr =[2,3,5,7];
for(var i=0;i<arr.length;i++){
console.log(arr[i]);
}
for(var key in arr){
console.log(arr[key]);
}
var obj={
name:"chengchao",
age:19
}
for(var k in obj){
console.log(obj[k])
}
12.作用域
//es6版本之前沒(méi)有塊級(jí)作用域
for(var i=0;i<5;i++){
console.log("hello world"); //5 hello world
}
console.log(i); // 5
//es 6版本 有塊級(jí)作用域
for(let i;i<5;i++){
console.log('let');
}{
let a=10;
}
console.log(a); //報(bào)錯(cuò)
13.continue和break用法
for(let i=0;i<5;i++){
if(i==3){
continue;
}
console.log(i); //0 1 2 4
}
for(let i=0;i<5;i++){
if(i==3){
break;
}
console.log(i); //0 1 2
}
14.使用id獲取一個(gè)元素派桩,并更改元素內(nèi)容
// 如何獲取一個(gè)節(jié)點(diǎn) id獲取
var test=document.getElementById("test");
console.log(test);
// 2.修改元素的內(nèi)容
test.innerHTML="change";
15.通過(guò)標(biāo)簽名獲取 -獲取一個(gè)集合
var p = document.getElementsByTagName("p");
// p[0].innerHTML = "change";
var btn = document.getElementById("btn");
btn.onclick = function(){
for(let i=0;i<p.length;i++){
p[i].innerHTML = "change"
}
}
16.通過(guò)class選擇器獲取元素
<!-- p.one{hello world}*4 -->
<p class="one">hello world</p>
<p class="one">hello world</p>
<p class="one">hello world</p>
<p class="one">hello world</p>
<script>
var ps = document.getElementsByClassName("one");
console.log(ps);
</script>
17.獲得全部的元素
<div class="one">hello world</div>
<div class="one">hello world</div>
<div class="one">hello world</div>
<script>
var one = document.querySelectorAll(".one");
console.log(one);
</script>