判断一个数是不是整数 是整数返回true 不是返回 false
Number.isInteger(value);
/'ɪntɪdʒə/
整数
该toFixed()方法使用定点表示法格式化数字
numObj.toFixed
(需要保留的小数位数);
括号里面不写参数,会将其视为0
返回的值是的数据类型是 string
不会改变原数值,返回新数值
判断一个数是不是字符数字,和数字
如果
isNaN
函数的参数不是Number
类型,isNaN
函数会首先尝试将这个参数转换为数值,然后才会对转换后的结果是否是NaN
进行判断
用
isNaN(testValue)
; 是数字和字符数字返回false
;不是返回true
一、算术运算
加
+
减-
乘*
除/
取模、取余%
ES6:指数运算符**
console.log( 2 ** 10 )
1. 隐式类型转换
+
在有字符串的时候,会进行字符串拼接
-
*
/
%
会尽力把不是数字的转化为数字
2、
NaN
——— not a number(不是一个数字)
不是数字的数字类型
(number类型)
NaN
和自己都不相等is NaN
(
obj
)
判断是否为NaN
,是返回true
,否返回false
;
当出现
NaN
时,一定是发生了非数字的数学运算
NaN
跟自己比较时。是不相等的
NaN
数据类型:number
- 一个 小指 模上一个大的值,结果 还是等于这个 小值
3、显示类型转化化
- 值决定变量的类型
》 转数字
Number()
可以用于任何数据类型转换成数值,parseInt()
、parseFloat()
:专门用于把字符串转换成数值
都是忽略前导的空格
Number()
1.1)能把字符串转化为数字。
2.2)如果字符串是空的(不包含任何字符),则将其转换为0
3.3)如果带非数字的字符串,返回NaN。
4.4)undefined,返回NaN。
5.5)true和false将分别转换为1和0。
6.6)null值,返回0。
7.
8.var a = Number( '-100.02' );
9.console.log( a ); //-100.02
10.var a = Number( '100px' );
11.console.log( a ); //NaN
12.var a = Number( '' );
13.console.log( a ); //0
14.var a = Number( undefined );
15.console.log( a ); //NaN
16.var a = Number( true );
17.console.log( a ); //1
18.var a = Number( null );
19.console.log( a ); //0
parseInt()
(取整)取非数字整前的数字
,或小数点前的数字
——-parseFloat()
能取得 小数,第二个小数点前的数字
》 转字符串
String(
obj )
;
obj.toString()
;
1 布尔类型转字符类型
let a = true;
let b = String (a);
console.log(a); // 蓝色 为 布尔值
console.log(b); // 黑色 为 字符串
2 布尔类型转数值类型
布尔值转为数字的时候;
false
会 转化为0
;true
会 转化为1
;
let a = true;
let b = Number (a);
console.log(typeof a);
console.log(typeof b);
3 数值类型转字符串类型
最简单的方法就是直接 变量 +
""
; 因为你发现引号里面写什么都会影响外面,所以索性什么都不写!
let a = 1;
let b = a + "";
console.log(typeof a);
console.log(typeof b);
4 字符串类型转数值类型
- 1、直接在字符串的前面加上
+
号
2、而+
用於单一数值型态的运算元时, 会将位元宽度小於int的数值, 自动转型为int
, 例如byte
,char
,short
等
3、有加号,包装类中它会自动把i
转成ASCII码中的105。如果前面加了字符,它则把i
当字符看,
Number.parseFloat
转化为数值类型的浮点数!
Number.parseInt
转化为数值类型的整数!
不能转布尔值
需要注意字符串转数值时,如果字符串时 1.1.1.1 ,那么它就会时
NaN
;因为 没有不存在这样的数值;
可以通过
Number.parseFloat
来转化为数值,因为它会自动识别一个小数,会自动保留一位小数!
从左往右开始,第一个(非空格)开始,以此往后找,如果排除空格以后,剩下的还是那些符号,就会转化失败!
let a = '1.1545645656.1.1.1.1.1';
let b = Number.parseFloat(a);
console.log(typeof b, b);
let a = '1.15%456.151321.1564546.1554545456';
let b = Number.parseFloat (a);
console.log(typeof b, b);
// 是自动识别一个小数位,把符号后面的都砍掉
let a = '1.1.1';
let b = Number (a);
console.log(typeof b, b);
5 转布尔值
Boolean()
特殊方法 字符串类型 转 数值类型
let c = '1.1';
let d = c - 0;
// c * 1 c / 1 c - 0
console.log(typeof d, d);
let a = 1;
let d = !!a;
// true ==> false ==> true
console.log(d);
// 双重否定变肯定
Number
转化数字的时候,会先把拿到的数据,先通过toString()
方法转化为字符串,再转化为数字
"''
可以被 Number
转为 o
null
可以被 Number
转为 o
true
可以被 Number
转为 o
false
可以被 Number
转为 o
[]
可以被 Number
转为 o
undefined
会被 Number
转为 NaN
{}
会被 Number
转为 NaN
二、赋值运算
=
+=
-=
*=
/=
%=
++
--
三、比较运算
<
————–小于
>
————-大于
= =
————- 等于
<=
————-小于等于
>=
————- 大于等于
!=
————- 不等于
= = =
————- 全等,除了值的判断,还会进行unicode 编码的对比
!==
————-不全等
返回boolean值
四、逻辑运算
||
————-逻辑或
&&
————–逻辑与
当 &&
符号为真值的时候,就会通过&&
符号继续往后执行;如果为假值,就立即停止
||
则相反
赋值操作
1.
2.var c = a || b;
3.//如果a为true,则用a赋值,如果a为false,则用b赋值
4.
5.var c = a && b;
6.//如果a为true,则通过,用 b 赋值
7.//如果a为false,用 a 赋值
8.
布尔值操作
1.if( a || b ){
2. //如果a为true,则为true
3. //如果a为false,则看b
4.}
5.
6.if( a && b ){
7. //如果a为true,则通过,看b,b为true则为true
8. //如果a为false,则false
9.}
10.
多则运算及优先级
!
————–取反
1.if( !obj ){
2.//首先会把obj转化为布尔值,如果 obj是true,则!obj为false
3.}