概述
-
typeof:检测变量类型
语法结构:typeof 变量名 或者 typeof(变量)
返回值:string类型(值的类型可以是string、number、boolean、object、undefined、function类型)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>typeof的使用</title>
</head>
<body>
<script>
var name="zhangyan",age=18;
console.log(name); //控制台打印 变量值
console.log(typeof(name)); //控制台打印 变量类型
console.log(age);
console.log(typeof(age));
</script>
</body>
</html>
-
isNaN() :检测是否是“非数值”
语法结构:isNaN(n)
返回值:Boolean值
ps:n可以是任何类型,该方法在接受数值后,首先尝试转换为数值,再检测是否为非数值。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>isNaN方法使用</title>
</head>
<body>
<script>
var name="zhangyan",age=18;
var id="18";
console.log(isNaN(age)); //false
console.log(isNaN(name)); //true
console.log(isNaN(id)); //false,该方法首先会将字符串id转换Wie数值18,再判断
</script>
</body>
</html>
-
数值转换
非数值 --> 数值 :
方法包括:Number() 、parseInt() 、parseFloat()
Number() -- 强制转换整个参数;parseInt()/parseFloat() -- 专门将字符串转换为数值
Number()可以将非数值转化为数值,但是有一些数据是不能转化为数值的,如果这类数据通过Number()进行强制转化的话,会返回NaN,a的值不能转化为数值类型,所以会返回NaN;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Number()方法</title>
</head>
<body>
<script>
var name="zhangyan",id="18";
console.log(typeof id); //string类型
id=Number(id);
console.log(typeof id); //number类型,将id变量值强制转换为数值18
name=Number(name);
console.log(name); //NaN,无法将name值强制转换为数值
var a="123.456nf";
console.log(Number(a));//NaN,数据a是不能转化为数值的
</script>
</body>
</html>
parseInt()方法:忽略字符串前边的空格,直至找到第一个非空格字符。(参数必须以数字开头,否则返回NaN)
ps:当参数为空字符串时,也显示NaN;该方法可以有两个参数,即使用多少进制转换
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>parseInt()方法</title>
</head>
<body>
<script>
var topVal="28px";
console.log(topVal-10);//NaN,因为这里没法相减(其实只是需要将其中28提取出来然后相减)
var topValue=parseInt("28px");
console.log(topValue-10);//18
var c="abc58";
console.log(parseInt(c));//NaN,需要以数字开头
console.log(parseInt("0xf",16)); //15,以十六进制转换 第一个参数
</script>
</body>
</html>
parseFloat()方法:依次解析每个字符,直至遇到一个无效的浮点数字符为止(即:只有第一个小数点有效,第二个小数点则无效)。
返回值:整数/浮点数
【注意】:parseFloat()相对于parseInt()的最大区别是,它始终会忽略前导的零。
e.g:如果参数包含十六进制格式,parseInt("0xf")是转换为十六进制数值,parseFloat("0xf")只会输出0。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>parseFloat()方法</title>
</head>
<body>
<script>
var d=parseFloat("12.34.56px");
console.log(d);//12.34,第二个小数点无效
var d=parseInt("12.34px");
console.log(d);//12
var e=parseInt("0123");
console.log(e);//123
var e=parseFloat("0123");
console.log(e);//123,同样会忽略0
var e=parseFloat("0.123adf");
console.log(e);//0.123
</script>
</body>
</html>
最后
以上就是靓丽唇彩为你收集整理的JS语法 之 操作符/方法(typeof、isNaN(n)、数值转换)的全部内容,希望文章能够帮你解决JS语法 之 操作符/方法(typeof、isNaN(n)、数值转换)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复