【JavaScript】类型、值和变量

  • JavaScript中非常重要的数据类型是对象和数组。
  • JavaScript标识符必须以字母、下划线(_)或美元符($)开始,后续字符可以是字母、数字、下划线或美元符。
  • JavaScript变量是无类型的(untyped),变量可以被赋予任何类型的值,同样一个变量也可以重新赋予不同类型的值。使用var关键字来声明变量。

数字

  • JavaScript不区分整数值和浮点数值,所有的数字均用浮点数表示。当一个数字直接出现在JavaScript程序中,我们称之为数字直接量(numeric literal)。
  • JavaScript中的算术运算在溢出、下溢或被零整除时不会报错。
  • JavaScript预定义了全局变量Infinity和NaN,用来表示正无穷大和非数字值。
  • 非数字值有一点特殊,它和任何值都不相等,包括自身。因此没办法比较x==NaN来判断变量x是否是NaN,应当用x != x来判断,当且仅当x为NaN的时候,表达式的结果才为true。

文本

  • JavaScript中没有表示单个字符的“字符型“。
  • JavaScript中的字符串直接量,是由单引号或双引号括起来的字符序列。由单引号定界的字符串中可以包含双引号,由双引号定界的字符串中也可以包含单引号。
模式匹配(没搞清楚)

布尔值

  • undefined、null、0、-0、NaN、“”这六个JavaScript值会被转换成false。
  • 布尔值包含toString()方法,可以使用这个方法将字符串转换为true或false。

null和undefined

  • 两者都表示“值的空缺”,判断相等的运算符“==”认为两者是相等的,要使用严格相等运算符“===”来区分它们。

全局对象

  • 全局对象的属性是全局定义的符号,JavaScript程序可以直接使用。当JavaScript解释器启动时(或者任何Web浏览器加载新页面的时候),它将创建一个新的全局对象,并给它一组定义的初始属性。
  • 全局属性:undefined、Infinity、NaN
  • 全局函数:isNaN()、parseInt()、eval()
  • 构造函数:Date()、RegExp()、String()、Object()、Array()
  • 全局对象:Math、JSON

JavaScript中的原始值(undefined、null、布尔值、数字、字符串)是不可更改的,而对象是可以更改的。

  • 对象的比较并非值的比较。我们将对象称为引用类型,因此对象值都是引用,对象的比较均是引用的比较:当且仅当它们引用同一个基对象时,它们才相等。
  • 当直接将对象或数组赋值给一个变量的时候,仅仅是对赋值的引用,对象本身并没有复制一次。如果想要得到一个对象或数组的副本,必须显式复制对象的每个属性或数组的每个元素。
  • 同样地,想要比较两个单独的对象或者数组,则必须比较它们的属性或元素。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值