您的位置:首页 > Web前端 > JavaScript

JavaScript基本数据类型与运算符归纳总结

2016-12-05 21:27 633 查看
写在前面的话

8进制16进制10进制

Number类型数据

Boolean类型

string类型

类型转换

运算符

-

取余 取模操作整数

自增和自减

复合赋值运算

比较运算符

逻辑运算符

三元运算符

typeof

写在前面的话

本文主要简单归纳了一些JavaScript的基本数据类型以及运算符的语法规则等,本文只是简单归纳总结,如有不足,还请包涵。如有疑问,请留言交流,谢谢!

8进制、16进制、10进制

如果8进制中的数出现了8或9,则直接忽略前面的0,把这个数当成10进制处理

Number类型数据

存储的最大值 Number.MAX_VALUE

存储的最小值Number.MIN_VALUE

如果一个数和自己都不相等,则这个数字是NaN。

var v = isNaN(“58”),var v = isNaN(“NULL”),返回false,先转化成数字。var v = isNaN(“undefined”)返回true。

Boolean类型

boolean有两个最原生的值:true 、 false

别的任何数据类型,都可以转成boolean值。

string类型

1、写字符串字面量既可以用”“也可以用”

2、string是不可变的

3、\ 这是一个转义字符 \n 换行 \t 制表符(tab) \r\n 回车(Windows下) \反斜杠

类型转换

强制转换:

1、把其他类型转换成Number.

a: 使用转换函数:可以把任何的类型转换成Number()—-自动类型转换使用的就是转型函数

总结:null —> 0

undefined —> NaN

false —> 0

true —>1

“” —>0

如果普通的字符串按照字面值进行转,如果全部都是数字,则转化成number,否则NaN

b: 使用内置函数:parseInt(字符串,[进制]),只能把字符串转化成Number中的整数

1、在转换的时候,会忽略首尾的空白字符。

2、还可以接受第二个参数,表示前面的字符串中的数字的进制。

3、如果不传入第二个参数,则当成10进制的数来处理。

c: 使用内置:parseFloat(字符串):转换成浮点数;

2、把其他类型转换成Boolean

使用转换函数:Boolean(数据) 转成true或者false

NaN —> false

undefined —> false

null —> false

“” —> false

0 —> false

其余全部都是true

3、把其他类型转换成字符串:String()

其他类型,怎么写就相当于直接加了一堆双引号 null —> “null” String(0x100)//输出256

超级简洁的转换成字符串的方法:任何数据 + “”

自动类型转换:

如果一个地方需要boolean,这个时候你传入了一个数字,那么js会自动把这个数字转换成boolean值

注意:自动类型转换的时候统统是转换函数

+:运算符重载 ,如果+ 的两端有一个是字符串,则按照字符串的连接来处理。

运算符

+

1、普通的算数运算:如果没有字符串参与则就是普通的算数运算符。

如果有NaN参与运算,则结果还是NaN。

如果两个infinity或两个-infinity,结果还是infinity或-infinity

如果是一个infinity和一个-infinity,结果是NaN

2、如果有字符串参与运算:按照字符串连接进行计算。

-

只有算数运算。两个数相减,一定都会先转换成Number再去相减。

如果有NaN参与运算,则结果还是NaN。

*

只有算数运算:数学上的*

/

只有算数运算:数学的/

Infinity / infinity = NaN

%取余 取模:操作整数

余数的符号和第一个数一致。

infinity % infinity = NaN

自增和自减

n++;

n的值和n++表达式的值,

注意:n的值一定是自增之后的值,n++表达式的值是n自增之前的值。

++n;

表达式的值就是n自增之后的值

–n和n–与++的含义相同

复合赋值运算

仅仅是写法的简化

比较运算符

== 需要进行类型转换

判断是否相等,如果相等则是true,否则是 false

注意:如果有一个是Number,则自动的把类型都转换成Number之后,再判断是否相等。 (现在不考虑对象)

如果都是字符串,则比较字符串的内容是否完全相等。

!= 判断不等

=== 全恒等:在实际使用最多

只有两个值的类型和内容都相等,才是true。

!== 判断不恒等

比较浮点数的时候,很难得到一个想要的结果。

alert((0.3 - 0.2) == 0.1); //false


逻辑运算符

! 非

true变false,false变true

!可以操作任何类型,操作之前都会把数据先用转换函数转换成boolean之后再进行!,所以说,!的结果一定是boolean。

把一个数据转换成Boolean最优雅的方式 !!”a”.

&& 短路与

只要有一个是false,结果就是false。

短路:如果第一个是false,则不会去计算第二个表达式。

false && false -> false

|| 短路或

只要有一个是true,结果就是true。

短路:如果第一个是true,则不会去计算第二个表达式。

&& 和 ||

逻辑运算符不仅仅可以操作true和false,也可以操作任何的数据类型。而且结果也可以是任何的数据类型。

&&:如果第一个是true或者第一个经过转换函数后是true,则结果就是第二个数。

如果第一个是false或者第一个经过转换函数后是false,则结果就是第一个数。

||:如果第一个是true,则结果就是第一个数;如果第一个数是false,结果就是第二个数。

高度总结:如果第一个能够决定最终的结果,则返回第一个,否则返回第二个。

三元运算符

需要三个数参与运算

表达式0 ? 表达式1 : 表达式2

表达式0的结果可以是任何的数据类型。如果是boolean值则直接使用,否则转换boolean值再用。

typeof

alert(typeof b);//undefined
alert(b);//报错
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐