JS操作style屬性
var oDiv = document.getElementById('div1');
/*style屬性中的樣式屬性,沒有"-"號(hào)的但狭,寫法相同*/
oDiv.style.color = 'red';
oDiv.style.background = 'gold';
/*
style屬性中的樣式屬性,帶"-"號(hào)的需要去掉"-"號(hào)瞻惋,寫成小駝峰式
例如:font-size屬性要寫為fontSize
*/
oDiv.style.fontSize = '30px';
JS操作class
var oDiv = document.getElementById('div1');
// 由于class是js中的保留關(guān)鍵字扁眯,所以設(shè)置class屬性時(shí)哆致,要寫為className
oDiv.className = 'box02';
JS操作括號(hào)屬性
var oDiv = document.getElementById('div1');
//oDiv.style.color = 'red';//red必須加引號(hào)涩维,否則會(huì)認(rèn)為它是一個(gè)變量删掀,引起來會(huì)認(rèn)為它是一個(gè)值翔冀,賦值給=號(hào)左邊
var attr = 'color';
// oDiv.style[attr] = 'red';
/* 通過[]操作屬性可以寫變量 */
oDiv['style'][attr] = 'red';
/* 通過innerHTML可以讀寫元素包括的內(nèi)容 */
alert(oDiv.innerHTML);//讀取標(biāo)簽里面包裹的元素,即“這是一個(gè)div元素”
var oDiv2 = document.getElementById('div2');
// oDiv2.innerHTML = '這是第二個(gè)div元素';//向div標(biāo)簽中插入內(nèi)容
oDiv2.innerHTML = "<a ;//向div標(biāo)簽中插入超鏈接標(biāo)簽
/*
document.write和innerHTML的區(qū)別
document.write只能重繪整個(gè)頁面
innerHTML可以重繪頁面的一部分
*/
一披泪、定時(shí)器分類
- setTimeout 只執(zhí)行一次的定時(shí)器
- clearTimeout 關(guān)閉只執(zhí)行一次的定時(shí)器
- setInterval 反復(fù)執(zhí)行的定時(shí)器
- clearInerval 關(guān)閉反復(fù)執(zhí)行的定時(shí)器
二纤子、定時(shí)器 基本用法
//單次定時(shí)器
var timer = setTimeout(function(){},3000);
clearTimeout(timer);
//反復(fù)循環(huán)
var time2 = setInterval(function(){},2000)
clearInterval(timer2)
三、變量的作用域+
全局變量:在函數(shù)外部定義的變量 函數(shù)內(nèi)部和外部都可以訪問
局部變量:在函數(shù)內(nèi)部定義的變量 只有內(nèi)部都可以訪問
四付呕、函數(shù)
function aa(){
alert("hello")
}
aa();//直接調(diào)用
五计福、匿名函數(shù)
沒有名字的函數(shù)
functionaa(){
alert("hello")
}
aa();//直接調(diào)用
//匿名函數(shù):
function(){
alert("hello")
}
六跌捆、函數(shù)傳參
function aa(x){
alert(x)
};
aa("哈哈哈");
七徽职、return 返回值
function add(a, b){
var c = parseInt(a) + parseInt(b);
// alert('計(jì)算完成');//執(zhí)行
return c;//返回函數(shù)設(shè)定的值,同時(shí)結(jié)束函數(shù)的運(yùn)行
// return;//不返回值佩厚,僅結(jié)束函數(shù)的運(yùn)行
// alert('計(jì)算完成');//不執(zhí)行
}
八姆钉、流程控制 和 語句
-
流程控制:
- JS的程序是從上倒下一行一行執(zhí)行的
- 通過流程控制語句可以控制程序執(zhí)行流程, 使程序可以根據(jù)一定的條件來選擇執(zhí)行
-
語句分類
- 1.條件判斷語句
- 2.條件分支語句
- 3.循環(huán)語句
九抄瓦、條件判斷語句
使用條件判斷語句可以在執(zhí)行某個(gè)語句之前進(jìn)行判斷潮瓶,如果條件成立才會(huì)執(zhí)行語句,條件不成立則語句不執(zhí)行钙姊。
- 語法:
- 1.if(條件判斷){·····} 滿足條件就執(zhí)行{}里的代碼
- 2.if(條件判斷){····}else{·····} 果該值為true毯辅,則執(zhí)行if后的語句如果該值為false,則執(zhí)行else后的語句
- 多重判斷語法
if(){
·····
}else if(){
····
}else if(){
····
}
- 條件分支語句
switch(條件表達(dá)式){
case 表達(dá)式:
語句...
break;
default:
語句···
break煞额;
在執(zhí)行時(shí)會(huì)依次將case后的表達(dá)式的值和switch后的條件表達(dá)式的值進(jìn)行全等比較思恐,
如果比較結(jié)果為true沾谜,則從當(dāng)前case處開始執(zhí)行代碼。
當(dāng)前case后的所有的代碼都會(huì)執(zhí)行胀莹,我們可以在case的后邊跟著一個(gè)break關(guān)鍵字基跑,
這樣可以確保只會(huì)執(zhí)行當(dāng)前case后的語句,而不會(huì)執(zhí)行其他的case
如果比較結(jié)果為false描焰,則繼續(xù)向下比較
如果所有的比較結(jié)果都為false媳否,則只執(zhí)行default后的語句
十、循環(huán)語句
通過循環(huán)語句可以反復(fù)的執(zhí)行一段代碼多次
- while 循環(huán)
- 語法一:
- while(條件表達(dá)式){······} 如果值為true荆秦,則執(zhí)行循環(huán)體篱竭, 循環(huán)體執(zhí)行完畢以后,繼續(xù)對(duì)表達(dá)式進(jìn)行判斷如果為true萄凤,則繼續(xù)執(zhí)行循環(huán)體室抽,以此類推。如果值為false靡努,則終止循環(huán)坪圾。
- 語法二
- do{····}while{·······}實(shí)際上這兩個(gè)語句功能類似,不同的是while是先判斷后執(zhí)行惑朦,而do...while會(huì)先執(zhí)行后判斷兽泄,do...while可以保證循環(huán)體至少執(zhí)行一次,而while不能
- 語法一:
- for 循環(huán)
- for(①初始化表達(dá)式;②條件表達(dá)式;④更新表達(dá)式){····}①執(zhí)行初始化表達(dá)式漾月,初始化變量(初始化表達(dá)式只會(huì)執(zhí)行一次) ②執(zhí)行條件表達(dá)式病梢,判斷是否執(zhí)行循環(huán)。 如果為true梁肿,則執(zhí)行循環(huán)③ 如果為false蜓陌,終止循環(huán) ④執(zhí)行更新表達(dá)式,更新表達(dá)式執(zhí)行完畢繼續(xù)重復(fù)②
- 死循環(huán)
- while (True):
- for(;;)
十一吩蔑、數(shù)組
var arre = []; //數(shù)組
alert(arre.length);//數(shù)組的長度
var arrs = [[12,23,43],[z,f,g,h,],[a,1,3,f]];
alert(arrs.[2][2]);//彈出g
十二钮热、數(shù)組的常用方法
- 鏈接數(shù)組元素 join()
- 在數(shù)組最后追加元素 push()
- 刪除末尾元素 pop()
- 在前面加元素unshift()
- 刪除索引為0 的值 shift()
- 反轉(zhuǎn) reverse()
- 查找第一次出現(xiàn)的值得索引 indexOf()
- 從第m索引開始刪除n個(gè)元素再插入k splice (m,n,k)
//數(shù)組去重
var aRr = [1,3,4,1,6,9,1,2,5,3,1,6,5,4,4];
var aRr2 = [];
for(var i=0; i<aRr.length; i++){
//判斷元素第一次出現(xiàn)的位置,恰好是當(dāng)前索引時(shí)烛芬,就將元素放入新數(shù)組
if(aRr.indexOf(aRr[i]) == i){
aRr2.push(aRr[i]);
}
}
十三隧期、字符串方法
- 字符串轉(zhuǎn)成數(shù)組 split()
- 獲取指定索引的字符 charAt()
- 查看第一次出現(xiàn)的位置 indexOf()
- 截取子串 substrings(包括開始位置,不包括結(jié)束位置)
- 轉(zhuǎn)換大寫字母 toUpperCase()
- 轉(zhuǎn)換小寫字母 toLowerCase()
//字符串反轉(zhuǎn)
/1赘娄、split字符串轉(zhuǎn)成數(shù)組
//2仆潮、reverse數(shù)組反轉(zhuǎn)
//3、join數(shù)組轉(zhuǎn)成字符串
var sTr2 = sTr.split('').reverse().join('');
alert(sTr2);//12efdsa88897fdsa321