JavaScript操作符

本文介绍了JavaScript中的数据类型,包括基本类型与引用类型的区别,数值处理方式如parseInt的使用,以及位操作、逻辑操作符的特点。同时,还探讨了不同数据类型之间的比较规则。

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

  • JS中的数据类型包括null、undefined、Number、Boolean、String、Symbol(唯一且不变)及引用类型Object、Function、Array;基本类型占据固定大小空间,保存在栈内存中;引用类型的值为对象,保存在堆内存中;

  • parseInt(obj, options)解析:第二个参数为一个可选的数字指定以什么进制数进行结果解析

parseInt('123hello')    //123
parseInt("")    //NaN
parseInt('0xA') //10(十六进制)
parseInt('10', 2)   //2 (二进制)
parseInt('10', 8)   //8 (八进制)
parseInt(2.33)  //2
  • 自增/自减:可以应用到任何职,包括字符串、布尔值、浮点数和对象;对于字符串,纯数字组成的字符串可以直接转为对应的数字, 然后进行自增和自减,其他类型的字符串均转为NaN; null转为0而undefined转为NaN;boolean类型的false和true分别转为0和1;对象类型会先使用valueOf()看返回结果是否能够利用上述规则转为数字,如果得到的是NaN,则继续调用toString()转为字符串再使用前边的规则。

  • 对非数值类型使用一元加减操作符时,相当于使用Number()一样对其进行类型转换。

  • ECMAScript中的数值均以64位格式存储。位操作是将操作数转为32位处理后再将结果转回64位。

  • 按位非的实质是操作数取反减一;左移不会改变操作数的符号位;有符号的右移(<<)使用符号位填充左侧空缺;无符号的右移以0填充左侧空缺,并直接对负数的二进制补码进行操作;

  • 连续两个逻辑非运算符可以获得操作数真正的布尔值,作用于Boolean()类似;逻辑与的两个操作数均为对象时返回第二个对象,仅第一个操作数为对象时返回第二个操作数, 仅第二个操作数为对象时在第一个操作数为true时返回该对象,如果其中一个操作数为null/undefined/NaN,则返回对应后者;逻辑或与逻辑与相反
    这里写图片描述

  • Infinity与0相乘结果为NaN;Infinity与Infinity相除结果为NaN;零除零也是NaN

  • 相等操作符(==): null与undefined相等;比较相等时不能将null和undefined转为其他任何值;有一个操作数为NaN时返回false; 两个操作数均为对象时,判断其是否为同一对象(指向同一对象);

null == undefined   //true
null == 0   //false
undefined == "" //false
//两个对象
var obj1 = {'x': 1}
var obj2 = {'x': 1}
var m = obj1;
var n = obj2;
var o = obj1;
m == n;     // false
m == o;     // true
  • 逗号运算符赋值时返回表达式最后一项的值
var a =(1, 2, 3, 4, 5); // a为5

参考文献
《JavaScript高级程序设计》第三版

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Neil-

你们的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值