js中的强制类型转换运算符关系运算符逻辑运算符条件运算符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中的强制类型转换运算符关系运算符逻辑运算符条件运算符相关的知识,希望对你有一定的参考价值。
1、强制类型转换Number
1.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>强制类型Number</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
将其他的数据类型转换为number
转换方式一:
使用Number函数
字符串转换为数字
1、如果纯数字的字符串,直接转换为数字
2、如果字符串中有非数字的内容,则转换为NaN
3、如果字符串是一个空串或者是一个全是空格的字符,则转换为0
Boolean转数字:
1、true 转换 1
2、false 转换 0
Null 转换为 数字 0
Undefined 转换为数字 NaN
转换方式二:
*/
var a = "123";
a = Number(a)
console.log("字符串转换为number:"+typeof a);
var b = "123px"
// parseInt()可以将一个字符串中的有效的整数内容取出来,然后转换为Number
b = parseInt(b)
console.log("parseInt:"+b);
// parseFloat()可以取出小数位
var c = "123.21px"
c = parseFloat(c);
console.log("parseFloat:"+c);
var d = true;
d = d.toString();
console.log(typeof d);
// 如果对非String使用parseInt()或parseFloat(),它会先将其转换为String,然后在操作
d = parseFloat(d);
console.log(d);
</script>
</head>
<body>
</body>
</html>
1.2 测试结果
2、进制表示
2.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>标题</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
在JS中需要表示16进制的数字,则需要以0X开头
如果需要表示8进制的数字,则需要以0开头
表示二进制: 需要0b开头
*/
var a ;
//十六进制
a = 0X123;
a = 0X431;
console.log("16进制:"+a);
//八进制
a = 021;
a = 032;
console.log("8进制:"+a);
//二进制
a = 0b10;
console.log("2进制"+a);
</script>
</head>
<body>
</body>
</html>
2.2 测试结果
3、强制类型转换为Boolea
3.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>转换boolean</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
将其它的数据类型转换为Boolean
使用Boolean()函数
数字--->布尔
- 除了0和NaN,其余的都是true
字符串--->布尔
- 除了空串,其余的都是true
null和undefined 都会转换为false
对象也会转换为 true
*/
var a = null;
a = Boolean(a);
console.log(a);
a = "123";
a = Boolean(a);
console.log(a);
a = 123;
a = Boolean(a);
console.log(a);
a = "";
a = Boolean(a);
console.log(a);
</script>
</head>
<body>
</body>
</html>
3.2 测试结果
4、运算符
4.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>运算符</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
运算符也叫操作符
通过运算符可以对一个或者多个值进行运算,同时获得运算结果
例如:typeof就是运算符,可以获得一个值的类型
它会将该值的类型以字符串的形式返回
number string undefined Boolean object
算数运算符:
当对非number的值进行运算的时候,会首先将这些值转换为number
任何值和NaN做运算都得NaN
+:对两个值进行加法运算,并将结果返回
- 如果对两个字符串进行加操作,进行拼串操作
- 任何值和字符串进行加法操作,都会先转换为字符串,然后进行拼串操作
-:可以对两个值进行减法运算,将非number转换为number
*:可以对两个值进行乘法运算
/:可以对两个值进行除法运算
%:取模运算,取余数
*/
var a = 123;
a = typeof a;
console.log(a);
var result ;
result = true + false;
console.log(result);
result = "你好"+"大水果!!!";
console.log(result);
result = "hello--"+
"my--"+
"son";
console.log(result);
//任何值和字符串相加都会转换为字符串
result = true + "js";
console.log(result);
/*
我们可以利用这一特点,来将一个任意的数据类型转换为String
我们只需要为任意的数据类型+一个 "" 就可以将其转换为String
隐式的类型转换,由浏览器自动完成,实际上也是调用了String()
*/
var a = 123 +"";
console.log(typeof a);
result = 1+2+"4";//34 自左向右执行执行到3+"4"的时候,3转换为字符串,然后和4进行拼串操作
console.log(result);
result = "2"+3+4;//234 3转换为字符串和2进行拼串,然后23字符串和数字4进行相加,数字4转换为字符串和23进行拼串
console.log(result);
result = 100 - "123jdjd";
console.log(result);//NaN
</script>
</head>
<body>
</body>
</html>
4.2 测试结果
5、自增自减
5.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>自增自减</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
自增:
让变量在在自身的基础上加1
对于一个变量自增以后,原变量的值会立即自增1
自增分为两种:后++(a++) 前++(++a)
a++的值等于原变量的值
++a的值等于原变量自增后的值
自减:同自增理解
*/
var a = 3;
console.log(a++);//3
console.log(++a);//5
var b =5;
console.log(b--);//5
console.log(--b);//3
</script>
</head>
<body>
</body>
</html>
5.2 测试结果
6、与、或、非
6.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>逻辑运算符</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
JS中有三种运算符:
!:非
所谓非运算符就是对一个布尔值进行取反操作,
true变为false ,false变为true
如果对非布尔值进行运算,首先转换为布尔值,然后取反
&& : 和两边条件都成立
第一个值为true,会检查第二个元素
第一个值为false,不会检查第二个元素
||: 两边条件满足其一
第一个值为true,不会检查第二个元素
第一个值为false,会检查第二个元素
*/
var a = 123;
a = !a;
console.log(a);
true && console.log("检查了右边");
false && console.log("检查了右边");
</script>
</head>
<body>
</body>
</html>
6.2 测试结果
7 赋值运算符
7.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>赋值运算符</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
可以将负号右侧的值赋值给左侧
var a = 3;
a += a; 等价于 a = a + 3;
a -= a; 等级于 a = a-3;
a *= a; 等价于 a = a * a;
a /= a; 等价于 a = a / a;
a %= a; 等价于 a = a % a;
*/
</script>
</head>
<body>
</body>
</html>
8、关系运算符
8.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>关系运算符</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
通过关系运算符可以比较两个值之间的大小关系, 任何值和NaN做比较都是false
关系成立返回true,否则返回false
>:
判断左侧的内容是否大于右侧的内容,成立返回true
>=
<
<=
==
=== 不会对比较的内容进行转换,比较类型和内容是否相等
非数值的情况
- 对于非数值进行比较,会将其转换为数字然后在比较
- 如果符号两侧的值都是字符串,不会将其转换为数字进行比较,而会分别比较字符串中字符的Unicode
*/
console.log("dkdk" > "eerr")
</script>
</head>
<body>
</body>
</html>
9、条件运算符
9.1 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>条件运算符</title>
<style type="text/css"> </style>
<script type="text/javascript">
/*
条件运算符也叫三目运算符
语法:
条件表达式? 语句1:语句2;
执行的流程:先判断条件,符合执行语句1,否则执行语句2
*/
var a = 5;
var b = 8;
a > b ? console.log("a大于b"):console.log("a小于b");
</script>
</head>
<body>
</body>
</html>
9.2 测试结果
10 、优先级
- 一般使用括号修改优先级的顺序
以上是关于js中的强制类型转换运算符关系运算符逻辑运算符条件运算符的主要内容,如果未能解决你的问题,请参考以下文章
使用Java语言深入理解程序逻辑:条件结构精讲(觉得不行的可以点赞加关注,下次再来评价)