欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

js数据类型+运算符

程序员文章站 2022-08-09 16:03:46
1.js的基本数据类型1.undefined类型只有一个值,为undefined。使用var声明变量但未对其加以初始化,变量的值就为undefined。例如:var test;//test==undefined;2.Null类型值唯一为null。定义变量准备用于保存未知对象。空对象指针,所以 typeof 结果为 object ,转为数值时为 0alert(null == undefined); //truealert(null === undefined); //f.....

目录

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中常用的运算符有:

●算数运算符

js数据类型+运算符

浮点数值得最高精准度是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 )作为比较运算的结果。

js数据类型+运算符

                        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

js数据类型+运算符

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

●逻辑运算符

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

js数据类型+运算符

             // 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

 

●赋值运算符

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

js数据类型+运算符

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

 

本文地址:https://blog.csdn.net/weixin_47791640/article/details/107228508