摘要:值類型與引用類型值類型引用類型值類型引用類型類型轉換字符串拼接運算符語句邏輯運算字符串拼接運算符語句邏輯運算符判斷一個變量會被當做還是區分和會發生類型轉換,沒有類型轉換。
1.數據類型
ECMAScript定義了6種數據類型,包括:
基本數據類型:Undefined、Null、Boolean、Number、String;
復雜數據類型:Object;
2.typeof操作符typeof操作符可區分值類型,對于引用數據類型無法區分(只能區分出引用類型中的function)。
"undefined",如果這個值未定義;
"boolean",如果這個值是布爾值;
"string",如果這個值是字符串;
"number",如果這個值是數值;
"object",如果這個值是對象或者null;
"function",如果這個值是函數;
*判斷一個對象(引用類型)是否為數組:arr instanceof Array,返回true、false。
typeof undefined;//undefined typeof "abc";//string typeof 123;//number typeof true;//boolean typeof {};//object typeof [];//object typeof null;//object typeof console.log;//function3.值類型與引用類型
值類型(Number,String,Boolean,Undefined)
引用類型(Object,Array,Function)
//值類型(Number,String,Boolean,Undefined) var a = 100; var b = a; a = 200; console.log(a);//200 console.log(b);//100 //引用類型(Object,Array,Function) var a = {age:20}; var b = a; b.age = 21; console.log(a.age);//21 console.log(b.age);//214.類型轉換
字符串拼接
== 運算符
if 語句
邏輯運算
//1.字符串拼接 var a = 100 + 10;//110 var b = 100 + "10";//10010 //2.== 運算符 100 == "100"; //true 0 == "";//true null == undefined;//true 0 === "";//false null === undefined;//false //3.if 語句 var a = true;if(a){} var b = 100;if(b){} var c = "";if(c){} //4.邏輯運算符 console.log(10&&0);//0 console.log(""||"abc");//"abc" console.log(!window.abc);//true //判斷一個變量會被當做true還是false var a = 100; console.log(!!a);5.區分 === 和 ==
==會發生類型轉換,===沒有類型轉換。
if(obj.a == null){ //這里相當于判斷了obj.a === null || obj.a === undefined;簡寫形式 //這是 jquery 源碼中推薦的寫法 }6.JS中的內置函數
Object
Array
Boolean
Number
String
Function
Date
RegExp
Error
7.JS 中的內置對象Math
JSON
8.如何理解JSONJSON是一種數據格式,也是一個 JS 對象,有以下兩個API。
JSON.stringify({a:10,b:20}) //把對象轉為字符串
JSON.parse("{"a":10,"b":20}") //把字符串轉為對象
技巧:
可將if語句轉換為false的有if(0){}、if(NaN){}、if(""){}、if(null){}、if(undefined){}、if(false){}
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/94594.html
摘要:如果有一方是布爾值,則轉換為,轉換為,再進行判斷。等同運算符類型不同返回類型相同如果同為數字字符串則比較值如果同為布爾值,相同則為不同為如果兩個操作數同為引用類型,且引用的為同一個對象函數,數組,則相同。 本文主要記錄平時開發遇到的知識點和小技巧 相等判斷(==) 類型相同: 判斷其值是否相同 類型不同: 1. 如果數字和字符串比較, 則字符串會被隱式轉換為數字,在做判斷。 2....
摘要:作為對象原型鏈的終點。調用函數時,應該提供的參數沒有提供,該參數等于。它可以用于引用該函數的函數體內當前正在執行的函數。 一 JS 二 CSS 一 JS ==和===的區別 ===叫做嚴格運算符 ==叫做相等運算符嚴格運算符比較時不僅僅比較數值還要比較數據類型是否一樣相等運算符在比較相同類型的數據時,與嚴格相等運算符完全一樣。 在比較不同類型的數據時,相等運算符會先將數據進行類型轉換,...
摘要:作為對象原型鏈的終點。調用函數時,應該提供的參數沒有提供,該參數等于。它可以用于引用該函數的函數體內當前正在執行的函數。 一 JS 二 CSS 一 JS ==和===的區別 ===叫做嚴格運算符 ==叫做相等運算符嚴格運算符比較時不僅僅比較數值還要比較數據類型是否一樣相等運算符在比較相同類型的數據時,與嚴格相等運算符完全一樣。 在比較不同類型的數據時,相等運算符會先將數據進行類型轉換,...
摘要:進階期理解中的執行上下文和執行棧進階期深入之執行上下文棧和變量對象但是今天補充一個知識點某些情況下,調用堆棧中函數調用的數量超出了調用堆棧的實際大小,瀏覽器會拋出一個錯誤終止運行。 (關注福利,關注本公眾號回復[資料]領取優質前端視頻,包括Vue、React、Node源碼和實戰、面試指導) 本周正式開始前端進階的第一期,本周的主題是調用堆棧,今天是第3天。 本計劃一共28期,每期重點攻...
閱讀 1917·2021-11-23 09:51
閱讀 1246·2019-08-30 15:55
閱讀 1613·2019-08-30 15:44
閱讀 759·2019-08-30 14:11
閱讀 1146·2019-08-30 14:10
閱讀 916·2019-08-30 13:52
閱讀 2630·2019-08-30 12:50
閱讀 615·2019-08-29 15:04