JS入门:一元、二元和三元运算符

本文介绍了JavaScript中的一元运算符,包括typeof、in、单目+和-以及自增自减。接着讨论了二元运算符,特别是算术运算符的使用规则。最后讲解了三元运算符的工作原理,并给出了相关示例及小练习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、一元运算符

一元运算符只需要一个操作数,比如 typeof,单目+和-,或者自增自减

1. typeof

typeof 可以检查一个值的类型,不会影响原值,将结果返回,结果是字符串类型

代码如下(示例):

var a = 123;
var result = typeof a;
console.log("result = " + result);//result = number
console.log(typeof result);//string

2. in

in 运算符可以检查一个对象中是否含有指定的属性,有返回true,没有返回false

语法:“属性名” in 对象

var obj = new Object();
obj.name = "孙悟空";
console.log("name" in obj);//true

3. 单目+和-

单目 + 对数字不会有任何影响
单目 - 对一个数字的符号取反

代码如下(示例):

var a = 123;
a = +a;
console.log("a = " + a);//仍是123
var a = 123;
var a = -a;
console.log("a = " + a);//变成-123

注意:对应非数字的值,会先把该值转换成Number,然后再操作

代码如下(示例):

var a = "123";//字符串123
var a = -a;
console.log("a = " + a);//-123
console.log(typeof a);//number

4. 自增自减

自增使原变量加1,自减使原变量减1

注意:虽然自增自减后,原变量的值会加1或减1,但是a++ 和 ++a、a-- 和 --a 的值是不一样的,需要区分清楚

  • a++的结果等于原变量的值
  • ++a的结果等于原变量加1的值
  • a–的结果等于原变量的值
  • –a的结果等于原变量减1的值

代码如下(示例):

var a = 123;
var b = a++;
console.log("a = " + a);//a = 124
console.log("b = " + b);//b = 123等于原变量的值
var a = 123;
var b = a--;
console.log("a = " + a);//a = 122
console.log("b = " + b);//b = 123等于原变量的值

二、二元运算符(仅讨论算术运算符 + - * / %)

二元运算符需要两个操作数

  1. 非Number类型的值做运算时,会先转成Number再运算
  2. 任何值和NaN做运算,结果都是NaN

1.加法

注意:任意数据类型和字符串做加法运算,都会先自动转换成字符串,再做级联(concatenate)处理(字符串相加称为级联)

代码如下(示例):

var a = "123" + 1;
console.log("a = " + a);//a = 1231

2.减法、乘法、除法和取模

减法、乘法、除法和取模运算都会先将非Number的值转成Number,再做运算

三、三元运算符

三元运算符需要三个操作数

语法:条件表达式 ?语句1 : 语句2

执行流程:

先对条件表达式求值,如果值为true,则执行语句1,并返回执行结果;如果值为false,则执行语句2,并返回执行结果

小练习:求用户输入的三个整数中的最大值

//创建三个变量,分别接收用户输入的三个整数
var num1 = prompt("请输入第一个整数:");
var num2 = prompt("请输入第二个整数:");
var num3 = prompt("请输入第三个整数:");
//第一个值和第二个值对比,返回较大的值
var max = num1 > num2 ? num1 : num2;
//较大的值再和第三个值对比,返回最大值
max = max > num3 ? max : num3;
console.log("max = " + max);//max为最大值

注意:如果条件表达式的值是非布尔值,则其会自动转换成布尔值,再判断

代码如下(示例):

//"hello"是字符串,转成true再判断
var str = "hello" ? "hello" : "你好";
console.log(str);//hello

总结

一元运算符需要一个操作数;二元运算符需要两个操作数,三元运算符需要三个操作数;自增自减的运算结果和原值之间的关系;字符串做加法运算会做级联处理;三元运算符的执行流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值