1 三个等号的应用:
var a,b;
if(a===b){
return 1;
}
else{
return 0;
}
三个等号在这里表示不仅数值相等,其数据类型也相等。
2 返回 Undefined的典型场景
(1)对象没有定义
var i;
i//Undefined
(2)函数没有传入参数,该参数相当于Undefined:
function(x){
return x;}
f()//Undefined
(3)函数没有返回值时。默认返回Undefined
function(){}
f()//Undefined
3 布尔值
(1)下面运算符会返回布尔值:
前置逻辑运算符:!(not)
相等运算符:===,==,!=,!==
比较运算符:>,<,<=,>=,
如果javascript预测某个位置是布尔值,那么除了以下六个为false,其余都为true
Undefined
NaN
0
''和""(空字符串)敲重点!!!这里空字符串里连空格也不能带!!!!**
false
null
注意
空数组和空对象在这里会被判定为true。
布尔值还可以被用来控制程序流量:
if(""){
console.log("true");
}//返回值为空
if([]){
console.log("true");
}//返回值为true
if({}){
console.log("true");
}//返回值为true
if(' '){//注意这里的单引号之间有空格
console.log("true");
}//返回值为true
其他知识可以查阅https://wangdoc.com/javascript/types/number.html
4 数值
在javascript中 数值总是以小数的形式存贮。所以有
1===1.0//true
但是注意了如果是一个数以上做运算然后比较的话就不一定相等了;
1.0+2.0===3.0//false
(3.0-2.0)===(2.0-1,0)//false(要带括号)
5与数值相关的全局方法
(1)parseInt()该方法用于将字符串转换为整数;
console.log(parseInt('123'));//输出123
console.log(parseInt(' 123'));//输出123,它会忽略掉前面的空格
console.log(parseInt(1.3));//输出1
console.log(parseInt('123'));//输出123
console.log(parseInt([]));//输出NaN
注意在这里parseInt()方法中如果输入得参数不是字符串,它会先将参数转换为字符串再将字符串转换为整数。注意在转为整数的时候,是一个一个转的,如果遇到转不了的会返回前面已经转好的整数
console.log(parseInt('123jfio'));//输出123
console.log(parseInt('123px'));//输出123
console.log(parseInt('123*'));//输出123
也可以用 parseInt()进行进制的转换;
可以使用第二个参数来规定想要转换的二进制的类型,比如parseInt(100,2),就表示用二进制来表示100,
注意如果第二位用NULL,0,或者undefined来表示则可可以忽略第二个参数,直接转成整数即可。
如果字符串的第一个字符不能转化为数字(后面跟着数字的正负号除外),返回NaN。
(2)parseFloat()
是将字符串转换成浮点型。
如果参数满足科学计数法,它可以算相对应的数:
console.log(parseFloat('3.14'));//3.14
console.log(parseFloat('0.00314E+2'));//0.314
如果参数不是字符串,或者字符串的第一个字符不能转化为浮点数,则返回NaN。这一点和前面的parseInt()方法是一样的。
parseFloat(true) // NaN
Number(true) // 1
parseFloat(null) // NaN
Number(null) // 0
parseFloat('') // NaN
Number('') // 0
parseFloat('123.45#') // 123.45
Number('123.45#') // NaN
这里可以看出与Number()方法的不同。
6 isFinite()
isFinite()方法返回一个布尔值,表示某个值是否为正常的数值。
isFinite(Infinity) // false
isFinite(-Infinity) // false
isFinite(NaN) // false
isFinite(undefined) // false
isFinite(null) // true
isFinite(-1) // true
7 isNaN()
可以用来判断一个值是否为NaN。
它是看该参数是否可以转化为数值,如果可以返回false,否则返回true,表示这是一个NaN。
isNaN('Hello') // true
// 相当于
isNaN(Number('Hello')) // true
isNaN({}) // true
// 等同于
isNaN(Number({})) // true
isNaN(['xzy']) // true
// 等同于
isNaN(Number(['xzy'])) // true
**注意数组和方法也会返回true,但是呢,一个数组或者是空数组都会返回false的原因是他们都能被转换成数值的。
isNaN([]) // false
isNaN([123]) // false
isNaN(['123']) // false
**注意这里的isNaN(['123']),相当于是先把它Number了一下,然后发现这是个数字,才返回false的。
网友评论