摘要:以上是使用轉換函數方法時會返回的值在用判斷的時候,首先執行了,然后判斷為真或假。對象的遍歷返回一個數組,包括對象自身的不含繼承的所有可枚舉屬性不含屬性的鍵名。
tip:本文含部分Es6語法
1.if(a)的自動轉換數據類型??? 轉換為true的值??? ?? 轉換為false的值
? Boolean ?? ? true??????????? ? false
??String? 任何非空字符串? ???????""(空字符串)
? Number? 任何非零數字值(包括無窮大)??? 0和NaN
? Object? 任何對象??????????????? null
? Undefined? n/a ?????????????? undefined
(①?n/a(或N/A),是not?applicable?的縮寫,意思是“不適用”。)
以上是使用Boolean()轉換函數方法時會返回的值
在用if(a)判斷的時候,首先執行了Boolean(a),然后if判斷為真或假。
2.遍歷a.數組(Array)的遍歷
數組自帶forEach,filter,map等方法可以進行遍歷,不同的是,map方法可能會返回undefined。
b.對象(Object)的遍歷
(1)for..in
var obj={snow:1,bran:2,king:3,nightking:4};
for(let i in obj){
console.log(i+","+obj[i])
}
(2)Object.keys(obj)
Object.keys返回一個數組,包括對象自身的(不含繼承的)所有可枚舉屬性(不含 Symbol 屬性)的鍵名。
var obj = {"a": "Beijing", "b": "Haidian"};
console.log(Object.keys(obj)); //["a", "b"]
tip:補充在遍歷對象時可以用的方法
hasOwnProperty:(判斷該對象是否包含某屬性)
for in (一般搭配hasOwnProperty來使用) 遍歷原型鏈上可枚舉的, for (let key in obj) { if (obj.hasOwnProperty(key)) { console.log("key: " + key + "," + "value: " + obj[key]) } }
delete:(刪除該對象某屬性)
for(var key in student){ delete student[key]; }
其他遍歷對象的方法:
https://blog.csdn.net/qq_3668...
1.HTML DOM querySelector() 方法
querySelector只能選擇第一個匹配的節點;
該方法類似JQ:
獲取標簽:document.querySelector("body")
獲取ID:document.querySelector("#myDiv")
獲取類:document.querySelector(".myDiv")
獲取子元素:document.querySelector("img .myDiv")
2.HTML DOM querySelectorAll() 方法
querySelectorAll可以選擇多個節點,以","分隔開,返回的是個數組;
// 獲取文檔中所有的
元素
var x = document.querySelectorAll("p");
// 設置第一個
元素的背景顏色
x[0].style.backgroundColor = "red";
1.HTML DOM getElementsByClassName() 方法
該方法返回的是數組
var x = document.getElementsByClassName("example color");
x[0].style.backgroundColor = "red";
2.HTML DOM classList 屬性
從前DOM添加類的方法:
document.getElementById("test1").setAttribute("class","class1")
新方法:
document.getElementById("myDIV").classList.add("mystyle");
為
|| 短路運算
僅當前者不成立時才去執行后者
原理:||先計算第一個運算數,如果可以被轉換成true,則返回左邊這個表達式的值,否則計算第二個運算數。即使||運算符的運算數不是布爾值,任然可以將它看作布爾OR運算,因為無論它返回的值是什么類型,都可以被轉換為布爾值
let a = 0; let url = a || ""; //url為"" let b = 1 let url1 = b || ""; // url1為1
&&短路運算
僅當前者成立時采取執行后者
原理:&&,它先計算第一個表達式,若為假,就不會去處理第二個表達;否則繼續處理后繼表達式。從左到右選取表達式的第一個為非true的表達式的值,如果一直未找到則返回最后一個表達式的值
let a = 1; let url = a && ""; //url為"" let b = 0 let url1 = b&&"" //url1為0
> 兩種短路運算都有一個共同的特點:如果第一個操作數能夠決定結果,那么就不會再對第二個操作數求值
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/98296.html
摘要:以上是使用轉換函數方法時會返回的值在用判斷的時候,首先執行了,然后判斷為真或假。對象的遍歷返回一個數組,包括對象自身的不含繼承的所有可枚舉屬性不含屬性的鍵名。 tip:本文含部分Es6語法 1.if(a)的自動轉換 數據類型??? 轉換為true的值??? ?? 轉換為false的值 ? Boolean ?? ? true??????????? ? false ??String? 任何...
摘要:以上是使用轉換函數方法時會返回的值在用判斷的時候,首先執行了,然后判斷為真或假。對象的遍歷返回一個數組,包括對象自身的不含繼承的所有可枚舉屬性不含屬性的鍵名。 tip:本文含部分Es6語法 1.if(a)的自動轉換 數據類型??? 轉換為true的值??? ?? 轉換為false的值 ? Boolean ?? ? true??????????? ? false ??String? 任何...
摘要:在這種情況下,函數在停止執行后將返回值。這種用法一般用在需要提前停止函數執行而又不需要返回值的情況下嚴格模式對函數有一些限制不能把函數命名為或不能把參數命名為或不能出現兩個命名參數同名的情況。 把近期看高程這本書做的筆記摘錄整理出來了,總歸對原生javascript理論有了一個比較全面的的認識,這次把書中的一些知識要點摘錄出來了,便于以后查閱的時候有方向,也更有效率!! 第一章、jav...
摘要:之間的項,但不包括結束位置。一個參數,返回從該參數指定位置到當前項末尾的所有項。傳入的函數每一項都返回,才返回查詢數組中的項是否滿足條件。 第五章引用類型 5.1 Object類型 創建Object實例的方式有兩種。第一種是使用new操作符 var person=new Object(); person=eve; person.age=29; 第二種是對象字面量 **推薦的寫...
摘要:操作符,會將數值改變正數變成負數負數變成正數。同時,也說明了,使用兩個邏輯非操作符和的操作結果相同。操作符得到的是余數。不相等操作符有兩種。 這篇筆記的內容對應的是《JavaScript高級程序設計(第三版)》中的第三章。 1.操作符 1-1 一元操作符 遞增和遞減操作符 遞增和遞減操作符有兩個 ++ 和 --。一元操作符使用的時候,可以前置也可以后置。由于兩個操作方式類似,先只說明 ...
閱讀 1923·2021-10-11 10:59
閱讀 1032·2021-09-07 09:59
閱讀 2226·2021-08-27 16:17
閱讀 2783·2019-08-30 15:54
閱讀 2274·2019-08-30 12:58
閱讀 1773·2019-08-30 12:53
閱讀 1465·2019-08-28 18:13
閱讀 733·2019-08-26 13:35