JavaScript第三版学习第二天

  • 数据类型
  • typeof

数据类型

5 种简单类型 Undefined Null Boolean Number String
1 种复杂类型 Object

typeof

对一个值使用typeof 操作符可能返回下列字符串

  • undefined --- 这个值未定义
  • boolean --- 这个值是布尔值
  • string -- 这个值是字符串
  • number -- 这个值是数值
  • object -- 这个值是对象或null
  • function -- 这个值是函数

undefined

是未初始化的定义
使用var 声明变量但未对其加以初始化
var message;
= var message = undefined;
作用:
区分空对象指针与未经初始化的变量.

包含undefined的变量与尚未定义的变量是不一样的。
直接使用未定义的变量会报错,但是这样的变量却可以使用唯一的操作typeof,返回的结果是undefined.

var message ;
alert(message); //undefined
alert(asd); //referenceError
alert(typoef message); //undefined
alert(typeof asd); //undefined

Null类型

  1. null 表示一个空对象指针.
    使用typeof null ---> object
  2. undefined的值是派生来自null的值
    undefined == null ----> true

Boolean类型

各种数据类型与Boolean转换规则

数据类型 转换为true的值 转换为false的值
Boolean true false
String 任何非空字符串 ""空字符串
Number 任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined N/A(不适用的意思) undefined

Number

  • IEEE754格式表示整数和浮点数值
  • ECMA 262 定义了不同的数值字面量格式,十进制,八进制,十六进制
  • 浮点数 以整数存储,e表示法(科学计数法),数值计算结果不准确,比如0.1+0.2 = 0.30000004,所以不要对其进行比较,判断。
  • 数值范围
    Infinity(正无穷) isFinite(param)--->判断是否为无穷
  • NaN
    NaN --> not a number
    非数值
    NaN与任何值都不相等,包括NaN本身。
    isNaN()-->定义了一个数是否可以转换成数值,true能够转换,false转换失败。
  • 数值转换
    Number()、parseInt()、parseFloat()
    Number
类型 结果
Boolean true 1
Boolean false 0
数值 简单地传入和返回 --
null 0 --
undefined NaN --

parseInt(str, 8/10/16/2)
parseInt("") ----> NaN
parseInt("123glay")--->123
parseInt()支持指定进制的转换

parseFloat()不支持指定进制转换

Number("") =0
Number(null) =0
parseInt("") = NaN
Number("hello world!") = NaN

String

定义:

字符串,由零或多个16位Unicode字符组成的字符序列。

字符字面量

转义

字符串的特点

字符串不可变

转换为字符串

toString(),几乎每一个值都有这个方法,除了null, undefined.
结果: 返回相应值的字字符串表示。
String()
想调用toString(),对于null和undefined,返回这两个值的字面量
String(null) ---- 'null'
String(undefined) ----- 'undefined'

PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!

你可能感兴趣的:(JavaScript第三版学习第二天)