JavaScript操作符总结

位操作符

ECMAScript 中所有的数值都以IEEE-754 64位的格式存储, 但并不是直接操作64位的值, 而是先将64位的值转换为32位的整数, 然后执行操作, 最后再将结果转换回64位。

  1. 按位非 是由一个波浪线 ~ 来表示, 执行按位非就是返回数值的反码。
var num1 = 25;
var num2 = ~num1;
console.log(num2);  // -26

其结果与以下操作返回的结果相同:

var n = 25;
var n2 = -n -1;
console.log(n2);

2, 按位与 (AND)
按位与操作符有一个 & 表示, 他有两个操作数, 从本质上讲, 按位与操作符 就是将两个数值的每一位对齐, 然后按照一定的规则, 对相同位置上的两个数执行 AND 操作

第一个数值的位第二个数值的位结果
111
100
000
000

很容易看出, 只有两个数值的位都为1结果才为 1 , 只要有一个为0 结果就是0

// 按位与
var result = 25 & 3;
console.log(result); // 1

3 。 按位或OR)
按位或操作符由一个 | 表示, 同样有两个操作数, 其遵循以下真值表。

第一个数值的位第二个数值的位结果
111
101
011
000

由此可见, 按位或操作符在有一个位是1 的情况下就返回1, 而只有两个位都是0 的情况下才返回0

var result1 = 25 |3;
console.log(result1) // 27

按位异或(XOR)
按位异或操作符由一个插入符号(^)来表示, 也有两个操作数。

第一个操作数第二个操作数结果
110
101
011
000

按位异或与按位或的不同之处在于, 这个操作数在两个数值对应位上只有一个1时才返回1, 如果对应的两位都是1 或都是0, 则返回0.

// 按位异或
var result2= 25 ^ 3;
console.log(result2); // 26

布尔操作符
布尔操作符一共有三个, 非(NOT)。 与(AND) 。 或(OR)

  1. 逻辑非
    逻辑非由一个叹号!表示, 可以应用于ECMAScript中 的任何数值, 无论这个数值是什么类型, 这个操作符都会返回一个布尔值。 逻辑非操作符首先会将它的操作数转换为一个布尔值, 然后在对其求反,也就是说,
    如果操作数是一个对象, 返回false
    如果操作数是一个空字符串 , 返回true
    如果操作数是一个非空字符串 ,返回false
    如果操作数是0, 返回true,
    如果操作数是任意非0数值, 返回false
    如果操作数是0, 返回true,
    如果操作数是null, 返回true,
    如果操作数是undefined, 返回true,
    如果操作数是NaN, 返回true,
//布尔操作符
console.log(!false); // true
console.log(!"")   // true
console.log(!"34324");  // false
console.log(!NaN);  // true
console.log(!"bule");  // false

注意, 同时使用两个逻辑非操作符会将一个值转换为对应的布尔值, 其作用和Boolean函数类似。

//布尔操作符
console.log(!!false); // false
console.log(!!"")   // false
console.log(!!"34324");  // true
console.log(!!NaN);  // false
console.log(!!"bule");  // true

2 逻辑与
逻辑与操作符由两个和号, && 表示,

第一个操作数第二个操作数结果
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

3 .逻辑或
逻辑或操作符由两个 || 表示,

第一个操作数第二个操作数结果
truetruetrue
truefalsetrue
falsetruetrue
falsefalsefalse

有一点没说的是, 逻辑或操作符(||) 与 逻辑与操作符一样, 都属于短路操作符,
也就是说如果 判定的第一个布尔值可以决定结果的话, 就不会继续向下判断。

// 逻辑或
var a = true;
var res = (a || someUndefinedVariable);
console.log(res);

结果是 true, 从上例可以看出, 如果第一个操作数 a 的布尔值为true的话, 就可以直接判定 整个逻辑获表达式的结果 了。

乘性操作符 加性操作符

// 加性操作符
var c = 5;
var d  = 10;
var message = "the sum of 5 and 10 is " + c +d ;
console.log(message);  // the sum of 5 and 10 is 510

这里有一点需要注意, 就是如果要在字符串中使用加法运算, 需要加上括号。

var message = "the sum of 5 and 10 is " +( c +d );

还有关系操作符, 相等操作符 , 这里就不细讲了, 因为比较简单, 主要在于非数值的比较上, 如果遇到了再去查吧, 多查几次就能记住了 。

条件操作符

variable = boolean_expression ? true_value :false_value

对上述命令的解释:

var max = (a > b) ? a : b;

显然, 输入a, b 的值, 容易得出结果 。

内容概要:《2024年中国城市低空经济发展指数报告》由36氪研究院发布,指出低空经济作为新质生产力的代表,已成为中国经济新的增长点。报告从发展环境、资金投入、创新能力、基础支撑和发展成效五个维度构建了综合指数评价体系,评估了全国重点城市的低空经济发展状况。北京和深圳在总指数中名列前茅,分别以91.26和84.53的得分领先,展现出强大的资金投入、创新能力和基础支撑。低空经济主要涉及无人机、eVTOL(电动垂直起降飞行器)和直升机等产品,广泛应用于农业、物流、交通、应急救援等领域。政策支持、市场需求和技术进步共同推动了低空经济的快速发展,预计到2026年市场规模将突破万亿元。 适用人群:对低空经济发展感兴趣的政策制定者、投资者、企业和研究人员。 使用场景及目标:①了解低空经济的定义、分类和发展驱动力;②掌握低空经济的主要应用场景和市场规模预测;③评估各城市在低空经济发展中的表现和潜力;④为政策制定、投资决策和企业发展提供参考依据。 其他说明:报告强调了政策监管、产业生态建设和区域融合错位的重要性,提出了加强法律法规建设、人才储备和基础设施建设等建议。低空经济正加速向网络化、智能化、规模化和集聚化方向发展,各地应找准自身比较优势,实现差异化发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值