前端之路

JS数据类型小结

2018-08-16  本文已影响0人  李不远

数值number

JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此。所以,11.0是相同的,是同一个数。

十进制:没有前导0的数值。

1
1.1
.1

二进制:有前缀0b0B的数值。

0b11    //3

八进制:有前缀0o0O的数值,或者有前导0、且只用到0-7的八个阿拉伯数字的数值

011

十六进制:有前缀0x0X的数值。

0xFF //255

科学计数法

123e3     //123000
123e-3    //0.123
-3.1E+12
.1e-23

正零和负零

JavaScript 内部实际上存在2个0:一个是+0,一个是-0,区别就是64位浮点数表示法的符号位不同。它们是等价的。

NaN

NaN是 JavaScript 的特殊值,表示“非数字”(Not a Number),主要出现在将字符串解析成数字出错的场合。NaN不等于任何值,包括它本身。

Infinity

表示无穷

字符串string

书写

'hello'
"world"
''      //空字符串
' '     //空格

转义

\:在需要转移的字符前加此符号

\0      //null(\u0000)
\b      //后退键(\u0008)
\f      //换页符(\u000C)
\n      //换行符(\u000A)
\r      //回车键(\u000D)
\t      //制表符(\u0009)
\v      //垂直制表符(\u000B)
\'      //单引号(\u0027)
\"      //双引号(\u0022)
\\      //反斜杠(\u005C)

多行字符串

var s = '123 \
456'
var s = '123'+
'456'           //推荐使用这种方法
var s = `123
456`            //ES6[中间包含回车]

布尔值boolean

逻辑的基本单位truefalse

可以转换成false的值

false
''   //空字符串
0和NaN
null
undefined

运算符Symbol

加法运算符

1+1     //2
true+true       //2
1+true      //2
'a'+'bc'        //'abc'
1+'a'           //'1a'  只有有一个字符串,执行时都会变成字符串拼接

算数运算符

赋值运算符

var x = 1
var x = y
x += y      // 等同于 x = x + y
x -= y      // 等同于 x = x - y
x *= y      // 等同于 x = x * y
x /= y      // 等同于 x = x / y
x %= y      // 等同于 x = x % y
x **= y     // 等同于 x = x ** y

比较运算符

布尔运算符

位运算符

其他

null

表示一个空指针对象

现在有对象,但是不想赋值

undefined

在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined

变量没有值

对象object

对象其实就是一组数据和功能的集合

var person = {
    name:'jean',
    years:1991,
    living:true 
}          //1.前面的key可以是空字符串''  2.如果不加引号,必须服从标识符的书写规则

读取

可以使用括号运算符或者点运算符

person['name']      
person.name      //符合标识符的情况下

删除

delete person['name']
delete person.name

查看属性

Object.keys

var x = {
    key1:1,
    key2:2
};
Object.keys(x);     //['key1','key2']

typeof

测试返回值

typeof 1            //返回'number'
typeof 'a'          //返回'string'
typeof undefined    //返回'undefined'
typeof null         //返回'object'      bug之一
typeof function f(){} //返回'function'  bug之二

in 运算符

用于检查对象是否包含某个属性(注意,检查的是键名,不是键值),如果包含就返回true,否则返回false

for in循环

for...in循环用来遍历一个对象的全部属性。

var obj = {a: 1, b: 2, c: 3};

for (var i in obj) {
  console.log(obj[i]);
}       //1,2,3
上一篇 下一篇

猜你喜欢

热点阅读