JavaScript是一门基于对象的编程语言。

  • 核心(ECMAScript)
  • 文档对象模型(DOM)
  • 浏览器对象模型(BOM)

变量

ECMAScript的变量是松散类型的,松散类型就是可以用来保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符而已。

用var 操作符定义的变量将成为定义该变量的作用域中的局部变量。

name = 'Alice';  //全局变量
function foo() {
    var first = 'hello';  //局部变量
    second = 'world!'  //全局变量
}

数据类型

鉴于ECMAScript 是松散类型的,因此需要有一种手段来检测给定变量的数据类型——typeof 就是负责提供这方面信息的操作符。

var message = "hello world!";
console.log(typeof message);  //string
console.log(typeof(message));  //string
console.log(typeof(123456));  //number

Undefined类型

Undefined类型只有一个值,即特殊的undefined。在使用var声明变量但未对变量赋值时,这个变量的值就是undefined。

对未初始化的变量执行typeof 操作符会返回undefined 值,而对未声明的变量执行typeof 操作符同样也会返回undefined 值。

Null类型

Null类型也只有一个值,特殊的值是null。null值表示一个空对象指针;如果变量设置未null,就相当于这个变量以后只能存放对象,只不过现在没有存放对象。

typeof 操作符检测null 值时会返回"object"。

Boolean类型

Boolean类型只有两个字面值true和false,并且是区分大小写的;True 和False(以及其他的混合大小写形式)都不是Boolean 值。

Number类型

Number类型包含整数、浮点数值和NaN,

  1. 整数可以通过十进制、八进制(0开头)和十六进制(0x开头)来表示。
  2. 浮点数值中必须包含一个小数点,浮点数值的最高精度是17 位小数,但在进行算术计算时其精确度远远不如整数。例如,0.1 加0.2的结果不是0.3,而是0.30000000000000004。
  3. NaN,即非数值(Not a Number)是一个特殊的数值,用于表示一个操作数原本是要返回一个数值,但未如愿返回一个数值,就会返回NaN(这样就不会抛出错误了)。任何涉及NaN 的操作(例如NaN/10)都会返回NaN;NaN 与任何值都不相等,包括NaN 本身。ECMAScript 定义了isNaN()函数,确定这个参数是否“不是数值”。
console.log(isNaN(NaN));  //true
console.log(isNaN(10));  //false(10 是一个数值)
console.log(isNaN("10"));  //false(可以被转换成数值10)
console.log(isNaN("blue"));  //true(不能转换成数值)
console.log(isNaN(true));  //false(可以被转换成数值1)
isNaN()

相关文章:

  • 2021-07-03
  • 2022-12-23
  • 2022-12-23
  • 2021-07-14
  • 2021-07-05
  • 2021-08-28
  • 2021-11-01
猜你喜欢
  • 2022-12-23
  • 2021-06-22
  • 2022-01-06
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案