這是我參與8月更文挑戰的第2天,活動詳情查看:8月更文挑戰javascript
if (0 || 1) {
console.log('true')
}
if (0 || false) {
console.log('false')
}
if (true || 0) {
console.log(true);
}
複製代碼
if (0 && 1) {
console.log(1, '0 && 1')
}
if (0 && false) {
console.log(2, '0 && false')
}
if (true && 0) {
console.log(3, 'true && 0');
}
複製代碼
var r1 = 1 || 0;
console.log(r1);
var r2 = 0 || false;
複製代碼
var r3 = 1 && 0;
var r4 = false && 0;
console.log(r3);
console.log(r4);
複製代碼
- == 是相對比較; === 是絕對比較
console.log(1 == '1'); // true
複製代碼
console.log(1 == true); // true;
複製代碼
console.log(false == '0'); // true
複製代碼
1.4 null == undefined // true, null 和undefined和其餘數據類型比較都是falsecss
1.5 對象 == 對象; 比較的是空間地址,地址相同返回truehtml
console.log({} == {}); // false
複製代碼
console.log({} == '[object Object]'); // true
複製代碼
console.log({} == true); // false
console.log([] == false); // true
複製代碼
console.log({} == 1); // false
console.log([] == 0); // true
複製代碼
console.log(NaN == NaN); // NaN和NaN 永遠不相等
複製代碼
for 循環 (for loop) 語句:按照必定的規律,重複去作某一件事情,此時就須要使用循環語句.java
var ary = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
/* [ 0: 1, 1: 2, 2: 3, ... 11: 12 length: 12 // length屬性的值表示數組有多少項 ] */
// 把數組裏面的每一項都輸出出來:
console.log(ary[0]);
console.log(ary[1]);
console.log(ary[2]);
console.log(ary[3]);
console.log(ary[4]);
console.log(ary[5]);
console.log(ary[6]);
console.log(ary[7]);
console.log(ary[8]);
console.log(ary[9]);
console.log(ary[10]);
console.log(ary[11]);
複製代碼
? 思考:咱們發現上面的代碼中除了方括號中索引不一樣,其餘的代碼都是相同的。 這個時候要是有一個變量i,而後讓: 第一次時i=0, 第二次i=1, 第三次i=2, ... 依次類推,每一次幫咱們給i加上1,那麼到什麼就不加了呢,由於i的最大索引是length-1,因此當i大於length-1以後就再也不加了。 而後咱們把代碼中的索引換成i就能夠了 console.log(ary[i]);數組
for (var i = 0; i < ary.length; i++) {
// 第一次循環: i = 0 i < 12 因此 ary[i] 是 ary[0]
// 第二次循環: i = 1 i < 12 因此 ary[i] 是 ary[1]
// ...
// i = 12 i < 12 => false 再也不執行循環體,循環結束,
console.log(ary[i]);
}
console.log(i); // 在for的小括號裏聲明的變量能夠在外面使用
複製代碼
var i = 0; 和i++ 能夠不放到括號裏,可是你寫在括號裏的這個變量和寫在外面是同樣的,在循環裏i++更改的就是外面聲明的這個i;
瀏覽器
var k = 0;
for (;k < 5;) {
console.log(k);
k++;
}
console.log(k); // 在外面的k也被更改了,已經變成了5
複製代碼
var ary = [12, 23, 34];
for (var i = ary.length - 1; i >= 0; i--) {
console.log(ary[i]);
}
複製代碼
// 輸出數組中的奇數項
// 偶數:可以被2整除的數字叫作偶數(整除:被除數除以餘數商是整數且餘數爲0)
// 奇數:不能被2整除的數字
for (var j = 0; j < ary.length; j++) {
if (j % 2 === 0) {
// % 是取模運算符 ,就是取餘數
// 0 % 2 餘數是0
// 1 % 2 餘數是1
// 3 % 2 餘數是1
// 4 % 2 餘數是0
console.log(ary[j]);
}
}
複製代碼
for (var i = 0; i < 10; i++) {
if (i === 5) {
continue; // 跳出i=5的那一次循環。結束本輪循環(循環體中的continue後面的代碼將再也不執行,繼續執行下一輪循環)
}
console.log(i)
}
複製代碼
for (var i = 0; i < 10; i++) {
if (i === 5) {
break; // 結束i=5及之後全部的循環。break是強制結束整個循環,不作任何處理,同時循環體中的break後面的代碼也不會執行了
}
console.log(i)
}
複製代碼
for in循環 for in 循環是專門用來遍歷對象的,能夠把對象裏面的屬性一個一個的遍歷出來。 注意:for in只能遍歷對象的可枚舉屬性。通常瀏覽器默認添加的都是不可枚舉的屬性。例如__proto__markdown
var obj = {
name: '江外',
age: 10
};
for (var k in obj) {
// k 表明每次遍歷時的屬性名
console.log('k ', k);
console.log('obj[k]', obj[k]);
}
複製代碼
DOM對象:咱們經過js的相關和html方法獲取到的html文檔中的元素app
經過ID獲取頁面中的元素對象 getElementById()方法
函數
語法:document.getElementById('idbox'); 參數:元素id, 'box'就是參數 返回值(函數執行事後的結果):若是獲取到,就是獲取到的DOM元素對象,若是獲取不到就是null;oop
var box = document.getElementById('box');
console.log(box);
複製代碼
經過標籤名獲取【元素對象集合】
var listContainer = document.getElementById('container');
var liList = listContainer.getElementsByTagName('li'); // 此時listContainer 就是上下文
console.log(liList); //
console.log(liList[0]);
console.log(liList[1]);
console.log(liList[2]);
liList[0].style.backgroundColor = 'red';
複製代碼
? 思考 ? DOM對象也是對象,那麼咱們能夠向操做普通對象那樣操做它嗎?好比說添加一個屬性,或者修改某個屬性? DOM對象也是對象,咱們也能夠向操做對象的方式同樣操做DOM對象
for (var i = 0; i < liList.length; i++) {
var cur = liList[i];
cur.myIndex = i; // 經過自定義屬性存儲這個元素在元素集合中的索引
console.log(cur);
}
複製代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>江外-隔行變色</title>
<style> * { margin: 0; padding: 0; } ul, li { list-style: none; } .li-wrapper { margin: 30px auto; border: 1px solid #00b38a; width: 500px; } .li-wrapper li { height: 50px; line-height: 50px; text-align: center; border-bottom: 1px darkblue dashed; } </style>
</head>
<body>
<ul id="liWrapper" class="li-wrapper">
<li>1item1</li>
<li>2item2</li>
<li>3item3</li>
<li>4item4</li>
<li>5item5</li>
<li>6item6</li>
<li>7item7</li>
<li>8item8</li>
<li>9item9</li>
<li>10item10</li>
</ul>
<script src="js/6-changeColor.js"></script>
</body>
</html>
複製代碼
// 1. => 獲取元素 liWrapper下的li
var liWrapper= document.getElementById('liWrapper');
var liList = liWrapper.getElementsByTagName('li');
for (let i = 0; i < liList.length; i++) {
// 循環遍歷元素對象,而後取出每一項
if (i % 2 === 0) {
// 若是是i是偶數
liList[i].style.backgroundColor = 'pink';
} else {
// 不然i是奇數
liList[i].style.backgroundColor = 'yellow';
}
}
複製代碼