js数据类型+运算符

本文详细介绍了JavaScript中的数据类型,包括基本数据类型(如undefined, null, Boolean, Number, String)和引用数据类型。同时,文章还讨论了数据类型转换,包括强制类型转换(如toString, Number, String)和隐式类型转换(如+运算符)。此外,还涵盖了运算符的使用,如算术运算符、递增/递减运算符、比较运算符和逻辑运算符,以及赋值运算符的应用。" 88007430,8257148,HttpCanary2.0:深入解析HTTP2协议抓包与注入技术,"['网络', '移动开发', 'java']
摘要由CSDN通过智能技术生成

目录

1.js的基本数据类型

2.js引用数据类型

3.数据类型强制转换

4.隐式类型转换(利用js弱变量类型转换)

          5.运算符


1.js的基本数据类型

1.undefined类型只有一个值,为undefined。使用var声明变量但未对其加以初始化,变量的值就为undefined。

例如:var test;//test==undefined;

2.Null类型值唯一为null。定义变量准备用于保存未知对象。

 空对象指针,所以 typeof 结果为 object ,转为数值时为 0 

  1. alert(null == undefined); //true

  2. alert(null === undefined); //false

3.Boolean类型有两个值,为true和false;

  •    String:非空为true,“”为false;
  •     Number:非0数字值(包括无穷大)为true,0或NaN为false;
  •     Object:任意对象为true,null为false;
  •     Undefined:直接为false;

4.Number类型包括整数、小数等各种数值类型;

5.string字类型为字符串,由单引号或双引号组成都可以,例如var str1='hellol'或者var str2="hello man";不过以单引号开头的必须单引号结尾,双引号开始的也必须用双引号结尾。

 

2.js引用数据类型

object就是几种基本类型无序的结合在一起,key一律是字符串,且object中可以有object。

 

3.数据类型强制转换

1.tostring

调用被转换数据类型的toString()方法,该方法不会影响到原变量,它会将转换的结果返回;Null,Undefined这两个值没有toString()方法

2.string

调用String()函数,将被转换的数据作为参数传递给函数,使用String()函数做强制类型转换时,对于Number和Boolean实际上就是调用toString()方法,当时对于Null和Undefined,就不会调用toString()方法,它会将null直接转换为"null",将undefined直接转换为"undefined

3.number

调用Number()函数转换为Number类型,如果是纯数字的字符串,则直接转换为数字;如果字符串中有非数字的内容,则转换为NaN;如果字符串是一个空串或者是一个全是空格的字符串,则转换为0

  • true 转成 1,false 转成 0
  • null 转成 0
  • undefined 转成 NaN
  • 调用parseInt() 把一个字符串转换为一个整数,可以将一个字符串中有效的整数内容取出来
  • 调用parseFloat() 把一个字符串转换为一个浮点数,可以将一个字符串中有效的小数内容取出来

4.Boolean

  • 调用Boolean()函数,数字中除了0,NaN,其余都是true
  • 字符串中除了空串,其余都是true
  • null,undefined都是false
  • 对象也会转换为true
  • 为任意数据类型做两次非运算,即可将其转换为布尔值

 

4.隐式类型转换(利用js弱变量类型转换)

隐式类型转换指的是字符串与数值之间的转换

一.值类型之间的数据类型转换:

(1)数字和字符串使用+运算符:

数字和字符串如果使用+运算符进行操作,那么会将数字先转换为字符串,然后进行字符串连接操作;

(2)布尔值参与的+运算符操作:

如果有布尔型参与,那么首先会将布尔值转换为对应的数字或者字符串,然后再进行相应的字符串连接或者算数运算。True是1,false是0。

(3)Null和Undefined参与的+运算符操作

如果和数字进行计算,null会转化为0,undefined会转化成NaN。

(4)减法操作:

如果一个操作数为string、boolean、null、undefined,则在后台调用Number()函数,将其转换成数值,再进行操作。如果进行减法操作,那么两个操作数都会先被转换为数字,然后在进行算数运算;

5.运算符

 运算符( operator )也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。

JavaScript中常用的运算符有:

●算数运算符

浮点数值得最高精准度是17位小数,但在进行算术计算时其精准度远远不如整数

                        var result = 0.1+0.3;      //结果不是0.3,而是:0.30000000000000004;
			document.write(0.07*100);  //结果不是7,而是:7.000000000000001;

   所以不要直接判断两个浮点数是否相等

表达式和返回值

表达式:是由数字、运算符、变星等以能求得数值的有意义排列方法所得的组合简单理解:是由数字、运算符变量等组成的式子

表达式最终都会有一个结果 ,返回给我们,我们成为返回值

●递增和递减运算符

如果需要反复给数字量添加或减去1 , 可以使用递增( ++ )和递减( - - )运算符来完成。

在JavaScript中,递增( ++ )和递减( -- )既可以放在变量前面,也可以放在变量后面。放在变量前面时,

我们可以称为前置递增(递减)运算符,放在变量后面时,我们可以称为后置递增(递减)运算符。

注意:递增和递减运算符必须和变量配合使用。

1.前置递增:++num前置递增,就是自加1,类似于num=num+1,但是++num写起来更简单。
使用口诀:先自加,后返回值

2.后置递增:num++后置递增,就是自加1 ,类似于num= num+ 1 , 但是num++写起来更简单。

使用口诀:先返回原值,后自加

  • 前置递增和后置递增运算符可以简化代码的编写,让变量的值+ 1比以前写法更简单
  • 单独使用时,运行结果相同
  • 与其他代码联用时,执行结果会不同
  • 后置:先原值运算,后自加(先人后己)
  • 前置:先自加,后运算(先已后人)
  • 开发时,大多使用后置递增/减,并且代码独占- -行,例如: num+ +;或者num--;

 

●比较运算符

概念:比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后, 会返回一个布尔值( true / false )作为比较运算的结果。

                        console.log(3 >= 5); //false
			console.log(2 <= 5); //ture
			//程序里面的等于号是 ==
			console.log(3 == 5); //false
			console.log('张三' == '李四'); //flase
			console.log(18 == 18); //true
			console.log(18 == '18'); //true

                        console.log(18=='18');//ture
			console.log(18==='18');//false

●逻辑运算符

概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断

             // 1.逻辑与两侧都为true 结果才是true 只要有一侧为false 结果就为false
		console .1 og(3 > 5 && 3 > 2); // false
		console .1 og(3 < 5 && 3 > 2); // true
             // 2.逻辑或|| or 两侧都为false 结果才是假false 只要有一侧为true 结果就是true
                 console.log(3 > 5| 3 > 2); // true
                 console.1og(3 > 5|| 3 < 2); // false
             //逻辑非(! )也叫作取反符,来取一个布尔值相反的值,如true的相反值是false
                 var a = ! true;
                 console. log(a); // false

 

●赋值运算符

概念:用来把数据赋值给变量的运算符。

                        var age = 10;
			age += 5; //相当于age=age+5;
			age -= 5; //相当于age=age-5;
			age *= 10; //相当于age=age*10;

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值