JS语法 之 操作符/方法(typeof、isNaN(n)、数值转换)

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值