JavaScript学习笔记①---基本概念

本文介绍了JavaScript中的转型函数Boolean(), String(), Number()及其使用场景, 并详细讲解了Number类型的数据范围、特殊值(Infinity 和 NaN)及数值转换方法。

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

1、转型函数Boolean()

可以对任何数据类型的值调用Boolean()函数,而且总会返回一个Boolean值。转换规则如下:

数据类型转换为true的值转换为false的值
Booleantruefalse
String任何非空字符串""(空字符串)
Number任何非零数字值(包含无穷大)0和NaN
Object任何对象null
Undefined不存在undefined

  引自《JavaScript高级程序设计(第3版)》

该方法很好用,比如笔者经常会对Ajax返回的data做合法检查,如下:

if(data !=null && data!= undefined && data != ""){
    //other code...
}

现在就可以改为如下判断:

if(true == Boolean(data)){
    //other code...
}

由于ECMAScript会在if语句中自动调用Boolean()转换函数,所以,这样即可!

if(data){
    //other code...
}

 另,ECMAScript还有其他转型函数String()、Number()。

2、数据类型--Number

2.1 数值范围

JS也有数值范围,最大值存在Number.MAX_VALUE,最小值存在Number.MIN_VALUE

当超过边界值时,正数会被转换成Infinity,负数则为-Infinity。这两个值是不可计算的,因为根本不是具体的数值。

isFinite()函数,可用于判断某个数值是否有穷(即处于最小值与最大值间),是则返回true

JavaScript之Number数值范围

2.2 NaN

NaN,即非数值(Not a Number),用于表示一个本来要返回数值的操作数未返回数值的情况。如除0的返回值。

  • 任何涉及NaN的操作都会返回NaN
  • NaN与任何值都不相等,包括NaN本身。

isNaN()函数,用于确定是否“不是数值”,入参先被转换为数值,如果不能转换,则返回true。

1 alert(isNaN(NaN)); //true
2 alert(isNaN(10)); //false
3 alert(isNaN("10")); //fasle
4 alert(isNaN("hi")); //true
5 alert(isNaN(true)); //false

2.3 数值转换

 

3、布尔操作符

3.1 逻辑非

无需多说。对数字的处理如下。

alert(!0) ;        //true
alert(!1);        //false
alert(!Infinity) //false

3.2 逻辑与

与JAVA等语言不通,JavaScript的逻辑与、非的左右操作数可以是任意类型,返回值也不一定是布尔类型。在有一个操作数不是布尔值的情况下,规则为:

  • 如果第一个操作数是对象,则返回第二个操作数;
  • 如果第二个操作数是对象,则只有在第一个操作数的求值结果为true的情况下才会返回该对象;
  • 如果两个操作数都是对象,则返回第二个操作数;
  • 如果有一个操作数是null,则返回null;
  • 如果有一个操作数是NaN,则返回NaN;
  • 如果有一个操作数是undefined,则返回undefined。

 

转载于:https://www.cnblogs.com/sxlzll/archive/2013/04/30/3052625.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值