回顾JavaScript之数据类型

起源

在1995 年 Netscape 一位名为 Brendan Eich 的工程师创造了 JavaScript,随后在 1996 年初,JavaScript 首先被应用于 Netscape 2 浏览器上。

最初的 JavaScript 名为 LiveScript,后来,因为 Sun Microsystem 的 Java 语言兴起,被广泛使用,Netscape 出于宣传和推广的考虑,将它的名字从最初的 LiveScript 更改为 JavaScript——尽管两者之间并没有什么共同点。这便是之后混淆产生的根源

数据类型

Number(数字)

1. JavaScript 采用"double-precision 64-bit format IEEE 754 values" ,以64bit表示数字

不区分整数浮点数

console.log(01.+0.2)

console.log((0.1+0.2)==0.3)

console.log((1+2)==3)

console.log((1+2)==3.0)

0.30000000000000004

false

true

true
知识兔

2. 类型转换函数

paresInt(arg1,arg2)

arg1: 转换对象

arg2: 进制

返回值:10进制的数字真值

以arg2 进制来解析arg1 如果arg1 不是合法的arg2进制数字,则返回NAN

# 2进制的10表示10进制的2

console.log(parseInt('10', 2)) // 2
知识兔

# 2进制出现了 错误的数字2

console.log(parseInt('2', 2)) //NaN
知识兔

# 其他不能转换的类型

console.log('abc', 2) //NaN
知识兔

# 在2013年前的旧版本中以0开头表示8进制,0x表示16进制

parseInt("010");  //  8
parseInt("0x10"); // 16
知识兔

# 使用+‘2’ 也可以将字符串转为数字类型2

console.log('1'+'2')  //  '12'
知识兔
console.log((+'1')+(+'2')) // 3

 # parseInt() 转换会一次转换字符串中每个字符,直到遇到不可转换的类型,返回值是已经转换好的数字
  使用+ 号 则字符串有不符合转换的类型,直接返回的NaN

console.log(parseInt('123abc')) // 123
console.log(+'123abc') //NaN

特殊数字类型

NaN  (not a number) ,Infinity,-Infinity

例如:

NaN+5 //Nan1/0  //Infinity-1/0  //-Infinity

判断:

isNaN(NaN)  //true
# isFinite 判断是不是非无穷数字
isFinite(1/0) // falseisFinite(-1/0) // false
isFinite(1) // true
# 可以判断字符串的整数值
isFinite('1') //true
Number.isFinite('1') //false

String(字符串)

JavaScript 中的字符串是一串Unicode 字符序列。每一个编码单元由一个 16 位二进制数表示。每一个Unicode字符由一个或两个编码单元来表示。

    obj.length //获取长度
    obj.trim()    // 移除空白
    obj.trimLeft() // 移除左边空白,从前往后找
    obj.trimRight) // 移除右边空白,从后往前找
    obj.charAt(n)    // 返回字符串中的第n个字符
    obj.slice(start, end) // 切片
    obj.toLowerCase()    // 大写
    obj.toUpperCase()  // 小写
    obj.split(delimiter, limit) // 分割


其他

        JavaScript 按照如下规则将变量转换成布尔类型:

  1. false0、空字符串("")、NaNnull 和 undefined 被转换为 false
  2. 所有其他值被转换为 true

null 和undifine
var a 
# 未定义 或者定义为赋值都是 undefinedconsole.log(a) //undefinedconsole.log(
'') // console.log(null) //null

变量

声明方式 let 、const、var

let 局部标量

for(let a = 0 ; a < 5 ; a++){    console.log(a) // 1 2 3 4 5 }console.log(a) //  error a not defined
const 常量
const PI = 3.14PI = 3.1415926  // Assignment to constant variable.
var 传统声明变量方式,全局可变变量
计算机