回顾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 //Nan

1/0  //Infinity
-1/0  //-Infinity

判断:

isNaN(NaN)  //true
# isFinite 判断是不是非无穷数字
isFinite(1/0) // false isFinite(-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 按照如下规则将变量转换成布尔类型:

  a) false0、空字符串("")、NaNnull 和 undefined 被转换为 false

  b) 所有其他值被转换为 true

 # null 和undifine

var a 
# 未定义 或者定义为赋值都是 undefined console.log(a) //undefined console.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.14 
PI = 3.1415926       //      Assignment to constant variable.

 

 # var 传统声明变量方式,全局可变变量

posted on 2019-09-26 17:00  木书生  阅读(108)  评论(0)    收藏  举报

导航