摘要:值類型與引用類型值類型引用類型值類型引用類型類型轉(zhuǎn)換字符串拼接運算符語句邏輯運算字符串拼接運算符語句邏輯運算符判斷一個變量會被當做還是區(qū)分和會發(fā)生類型轉(zhuǎn)換,沒有類型轉(zhuǎn)換。
1.數(shù)據(jù)類型
ECMAScript定義了6種數(shù)據(jù)類型,包括:
基本數(shù)據(jù)類型:Undefined、Null、Boolean、Number、String;
復雜數(shù)據(jù)類型:Object;
2.typeof操作符typeof操作符可區(qū)分值類型,對于引用數(shù)據(jù)類型無法區(qū)分(只能區(qū)分出引用類型中的function)。
"undefined",如果這個值未定義;
"boolean",如果這個值是布爾值;
"string",如果這個值是字符串;
"number",如果這個值是數(shù)值;
"object",如果這個值是對象或者null;
"function",如果這個值是函數(shù);
*判斷一個對象(引用類型)是否為數(shù)組: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.類型轉(zhuǎn)換
字符串拼接
== 運算符
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.區(qū)分 === 和 ==
==會發(fā)生類型轉(zhuǎn)換,===沒有類型轉(zhuǎn)換。
if(obj.a == null){ //這里相當于判斷了obj.a === null || obj.a === undefined;簡寫形式 //這是 jquery 源碼中推薦的寫法 }6.JS中的內(nèi)置函數(shù)
Object
Array
Boolean
Number
String
Function
Date
RegExp
Error
7.JS 中的內(nèi)置對象Math
JSON
8.如何理解JSONJSON是一種數(shù)據(jù)格式,也是一個 JS 對象,有以下兩個API。
JSON.stringify({a:10,b:20}) //把對象轉(zhuǎn)為字符串
JSON.parse("{"a":10,"b":20}") //把字符串轉(zhuǎn)為對象
技巧:
可將if語句轉(zhuǎn)換為false的有if(0){}、if(NaN){}、if(""){}、if(null){}、if(undefined){}、if(false){}
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/94594.html
摘要:如果有一方是布爾值,則轉(zhuǎn)換為,轉(zhuǎn)換為,再進行判斷。等同運算符類型不同返回類型相同如果同為數(shù)字字符串則比較值如果同為布爾值,相同則為不同為如果兩個操作數(shù)同為引用類型,且引用的為同一個對象函數(shù),數(shù)組,則相同。 本文主要記錄平時開發(fā)遇到的知識點和小技巧 相等判斷(==) 類型相同: 判斷其值是否相同 類型不同: 1. 如果數(shù)字和字符串比較, 則字符串會被隱式轉(zhuǎn)換為數(shù)字,在做判斷。 2....
摘要:作為對象原型鏈的終點。調(diào)用函數(shù)時,應(yīng)該提供的參數(shù)沒有提供,該參數(shù)等于。它可以用于引用該函數(shù)的函數(shù)體內(nèi)當前正在執(zhí)行的函數(shù)。 一 JS 二 CSS 一 JS ==和===的區(qū)別 ===叫做嚴格運算符 ==叫做相等運算符嚴格運算符比較時不僅僅比較數(shù)值還要比較數(shù)據(jù)類型是否一樣相等運算符在比較相同類型的數(shù)據(jù)時,與嚴格相等運算符完全一樣。 在比較不同類型的數(shù)據(jù)時,相等運算符會先將數(shù)據(jù)進行類型轉(zhuǎn)換,...
摘要:作為對象原型鏈的終點。調(diào)用函數(shù)時,應(yīng)該提供的參數(shù)沒有提供,該參數(shù)等于。它可以用于引用該函數(shù)的函數(shù)體內(nèi)當前正在執(zhí)行的函數(shù)。 一 JS 二 CSS 一 JS ==和===的區(qū)別 ===叫做嚴格運算符 ==叫做相等運算符嚴格運算符比較時不僅僅比較數(shù)值還要比較數(shù)據(jù)類型是否一樣相等運算符在比較相同類型的數(shù)據(jù)時,與嚴格相等運算符完全一樣。 在比較不同類型的數(shù)據(jù)時,相等運算符會先將數(shù)據(jù)進行類型轉(zhuǎn)換,...
摘要:訪問屬性是通過操作符完成的,但這要求屬性名必須是一個有效的變量名小紅的屬性名不是一個有效的變量,就需要用括起來。閉包應(yīng)用封裝私有變量箭頭函數(shù)箭頭函數(shù)相當于匿名函數(shù),并且簡化了函數(shù)定義。 數(shù)據(jù)類型 NAN NaN === NaN; // false 唯一能判斷NaN的方法是通過isNaN()函數(shù): isNaN(NaN); // true 浮點數(shù)的相等比較: 1 / 3 === (...
摘要:進階期理解中的執(zhí)行上下文和執(zhí)行棧進階期深入之執(zhí)行上下文棧和變量對象但是今天補充一個知識點某些情況下,調(diào)用堆棧中函數(shù)調(diào)用的數(shù)量超出了調(diào)用堆棧的實際大小,瀏覽器會拋出一個錯誤終止運行。 (關(guān)注福利,關(guān)注本公眾號回復[資料]領(lǐng)取優(yōu)質(zhì)前端視頻,包括Vue、React、Node源碼和實戰(zhàn)、面試指導) 本周正式開始前端進階的第一期,本周的主題是調(diào)用堆棧,今天是第3天。 本計劃一共28期,每期重點攻...
閱讀 2103·2021-11-23 09:51
閱讀 1304·2019-08-30 15:55
閱讀 1674·2019-08-30 15:44
閱讀 815·2019-08-30 14:11
閱讀 1204·2019-08-30 14:10
閱讀 979·2019-08-30 13:52
閱讀 2702·2019-08-30 12:50
閱讀 684·2019-08-29 15:04