Js数据类型
Js的七种数据类型:number string boolean symbol undefined null object
基本类型 number string boolean symbol undefined null
复杂类型 object
array 和 function 都属于object 类型
数字 number
概括:用来表示整数和小数等
十进制写法:
1
0.1
.1
1.25e2
1.25E2
二进制,写法:
0b11
-
八进制,写法:
011
在存储以"0"开头的电话号码时需要用字符串类型而不是数字类型,否则容易被计算机认为是八进制数字类型
16进制,写法:
0x11
字符串 string
概括:用来表示文本内容
-
写法:
'你号'
"你号"
''
""
' '
" "
注意事项:空字符串长度为0,空格字符串长度由空格个数决定
-
转义符:反斜杠
\
在字符串中用来表示一些特殊字符,又叫转义符。常用的转义符:
-
\0
:null(\u0000
) -
\b
:后退键(\u0008
) -
\f
:换页符(\u000C
) -
\n
:换行符(\u000A
) -
\r
:回车键(\u000D
) -
\t
:制表符(\u0009
) -
\v
:垂直制表符(\u000B
) -
\'
:单引号(\u0027
) -
\"
:双引号(\u0022
) -
\\
:反斜杠(\u005C
)
-
-
多行字符串:
-
提前输入
\
,类似命令行的换行 (不推荐此写法)。案例:var a = '123\ 456' //结果是"123456"
此种方法如果在
\
后先添加了空格,会只转义空格造成报错 -
在要换行的地方结束当前字符串并加一个
+
号。案例:var a = '123'+ '456' //结果是123456
-
-
将需要换行的字符串用两个反引号 " ` " (键盘上 1 前面的那个符号) 括起来。案例:
var a = `123 456` //结果是"123↵456"
布尔 boolean
概括:只有两个特殊的值,表示真伪
来源:一个叫乔治·布尔(英语:George Boole)的人
值:true false
-
a && b 只有 a b 同时为真(true) 其结果才会为真
b\a 真 假 真 true true 假 true false -
a || b 只要 a b 中有一个为真(true) 其结果就为真
b\a 真 假 真 true true 假 true false
null 类型 和 undefined 类型
概括:值就是它本身,它们的意思都是空。
-
两者区别
undefined 表示"未定义"或不存在,null表示空值,即此处的值为空。
如果一个变量没有赋值 结果就是 undefined
-
用法:
- 如果想创建一个对象但不想赋值,可以给它 null,如:
var obj = null
空对象。 - 如果想创建一个非对象不想赋值,可以给它 undefined 。
var 变量
默认本身的值就是 undefined。如:var a
。undefined通常用来表示空,非对象。
- 如果想创建一个对象但不想赋值,可以给它 null,如:
对象 object
概括:各种值组成的集合
-
语法:
var obj = { key1 : value1, key2 : value2, key3 : value3 }
-
注意事项:
对象中的 key 永远是字符串的 key 。
一般情况下获取某个value的值必须用:
person['name']
的写法。只有在 key 符合标识符的命名规范的情况下才可以使用:person.name
的写法。IE8 以下的浏览器不支持
{ key1: value1, key2: value2 }
中间用逗号分割,只有 IE8 及其以上的浏览器支持如果 key 的名字不加引号就要遵循标识符的命名规则。
-
用法案例:
var pereon = { name : 'name', age : 18, maried : true, children : null, }
-
特殊的写法:
var obj = { '' : 'frank', 'a b' : 'second', }
key 可以是一个空的字符串,也可以在两个字符之间加空格
-
错误写法:
var obj = { 2k : 'frank', }
此处的 key 不可以以数字开头,因为不加引号要遵循标识符的命名规则。
-
删除
-
删除value后再去获取value,浏览器会报错
var pereon = { name : 'name' } delete person['name'] person.name // 值是 undefined 浏览器会报错 'name' in person // false
-
当给key的赋值为undefined时它的值也是 undefined ,但是 使用 in 判断它是存在的
var pereon = { name : 'name' } person.name = undefined // undefined 'name' in person // true
-
-
对象遍历:
var person = { name : 'frank', age : 18 } for(var key in person) { console.log(key) } /* 输出: name age name age 的顺序是随机的 */ for(var key in person) { console.log(key,person[key]) } /* 输出: name frank age 18 注意person[key]只能通过[]方式,不能通过 person.key 因为 person.key是一个字符串,但for in 中的key不是 */
typeof 运算符
-
用法案例:
var a = 1 typeof a //返回的值是number
-
特殊案例:
在Js中,大部分数据类型 typeof 就会显示它的数据类型,但以下两种比较特殊:
当
typeof null
时,null 所显示的类型是 object-
当 typeof 一个函数时,它的返回值是 function 但 function 不是一种数据类型。例:
function a() {} typeof a //返回的值是'function'
注:本文为原创文章,著作权归本人和饥人谷所有,转载务必注明来源