• JS 数据类型与运算符


    以下内容均整理自:廖雪峰老师的JS教程

    非常感谢廖老师!

    统一使用var声明即可,JS会自动判断类型。

    数据类型

    1. Number

    JavaScript不区分整数和浮点数,统一用Number表示,以下都是合法的Number类型:

    123; // 整数123
    0.456; // 浮点数0.456
    1.2345e3; // 科学计数法表示1.2345x1000,等同于1234.5
    -99; // 负数
    NaN; // NaN表示Not a Number,当无法计算结果时用NaN表示
    Infinity; // Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就表示为Infinity
    

    2. 字符串

    字符串是以单引号’或双引号"括起来的任意文本,无结束字符,比如:字符串'abc'只有abc这3个字符。

    3. 布尔值

    一个布尔值只有truefalse两种值

    4. null

    null表示一个“空”的值,它和0以及空字符串''不同,0是一个数值,''表示长度为0的字符串,而null表示“空”

    5. undefined

    表示“未定义”,即变量未赋值之前的状态。仅仅在判断函数参数是否传递的情况下有用。

    6. 数组

    JavaScript的数组**可以包括任意数据类型**。
    另外有两种创建数组方式:

    • var arr =[1,2,'哈哈',null,true] ;
    • new Array(1,2,'哈哈',null,true);

    7. 对象

    JavaScript的对象是一组由**键-值**组成的无序集合,例如:

    var person = {
        name: 'Bob',
        age: 20,
        tags: ['js', 'web', 'mobile'],
        city: 'Beijing',
        hasCar: true,
        zipcode: null
    };
    

    要获取一个对象的属性,我们用对象变量.属性名的方式:

    person.name; // 'Bob'
    person.zipcode; // null
    

    运算符

    运算符大致与Java的运算符都一致,包括短路运算符等操作。不过,也有一些需要注意的:

    • 要特别注意相等运算符==。JavaScript在设计时,有两种比较运算符:

    第一种是==比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
    第二种是===比较,它不会自动转换数据类型,如果数据类型不一致,返回false,如果一致,再比较
    由于JavaScript这个设计缺陷,不要使用==比较,始终坚持使用===比较。

    • 另一个例外是NaN这个特殊的Number与所有其他值都不相等,包括它自己:

    NaN === NaN; // false,唯一能判断NaN的方法是通过isNaN()函数:isNaN(NaN); // true

    • 最后要注意浮点数的相等比较:

    如:1 / 3 === (1 - 2 / 3); // false,这不是JavaScript的设计缺陷。浮点数在运算过程中会产生误差,因为计算机无法精确表示无限循环小数。要比较两个浮点数是否相等,只能计算它们之差的绝对值,看是否小于某个阈值:Math.abs(1 / 3 - (1 - 2 / 3)) < 0.0000001; // true

  • 相关阅读:
    软件工程实验二—结构化分析与设计
    软件工程实验一 软件开发文档与工具的安装与使用
    个人作业三-ATM管理系统
    软件工程个人作业二—举例分析流程图与活动图的区别与联系
    软工个人作业—四则运算
    2020软件工程作业02
    自我介绍
    2019春总结作业
    2019春第四次课程设计实验报告
    2019春第三次课程设计实验报告
  • 原文地址:https://www.cnblogs.com/tfxz/p/12823672.html
Copyright © 2020-2023  润新知