摘要:值类型与引用类型值类型引用类型值类型引用类型类型转换字符串拼接运算符语句逻辑运算字符串拼接运算符语句逻辑运算符判断一个变量会被当做还是区分和会发生类型转换,没有类型转换。
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){}
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/94594.html
摘要:如果有一方是布尔值,则转换为,转换为,再进行判断。等同运算符类型不同返回类型相同如果同为数字字符串则比较值如果同为布尔值,相同则为不同为如果两个操作数同为引用类型,且引用的为同一个对象函数,数组,则相同。 本文主要记录平时开发遇到的知识点和小技巧 相等判断(==) 类型相同: 判断其值是否相同 类型不同: 1. 如果数字和字符串比较, 则字符串会被隐式转换为数字,在做判断。 2....
摘要:作为对象原型链的终点。调用函数时,应该提供的参数没有提供,该参数等于。它可以用于引用该函数的函数体内当前正在执行的函数。 一 JS 二 CSS 一 JS ==和===的区别 ===叫做严格运算符 ==叫做相等运算符严格运算符比较时不仅仅比较数值还要比较数据类型是否一样相等运算符在比较相同类型的数据时,与严格相等运算符完全一样。 在比较不同类型的数据时,相等运算符会先将数据进行类型转换,...
摘要:作为对象原型链的终点。调用函数时,应该提供的参数没有提供,该参数等于。它可以用于引用该函数的函数体内当前正在执行的函数。 一 JS 二 CSS 一 JS ==和===的区别 ===叫做严格运算符 ==叫做相等运算符严格运算符比较时不仅仅比较数值还要比较数据类型是否一样相等运算符在比较相同类型的数据时,与严格相等运算符完全一样。 在比较不同类型的数据时,相等运算符会先将数据进行类型转换,...
摘要:进阶期理解中的执行上下文和执行栈进阶期深入之执行上下文栈和变量对象但是今天补充一个知识点某些情况下,调用堆栈中函数调用的数量超出了调用堆栈的实际大小,浏览器会抛出一个错误终止运行。 (关注福利,关注本公众号回复[资料]领取优质前端视频,包括Vue、React、Node源码和实战、面试指导) 本周正式开始前端进阶的第一期,本周的主题是调用堆栈,今天是第3天。 本计划一共28期,每期重点攻...
阅读 1919·2021-11-23 09:51
阅读 1248·2019-08-30 15:55
阅读 1616·2019-08-30 15:44
阅读 761·2019-08-30 14:11
阅读 1148·2019-08-30 14:10
阅读 918·2019-08-30 13:52
阅读 2632·2019-08-30 12:50
阅读 616·2019-08-29 15:04