Js数据类型
Js的七种数据类型:number string boolean symbol undefined null object
基本类型 number string boolean symbol undefined null
复杂类型 object
数字 number
概括:用来表示整数和小数等
十进制写法:
10.1.11.25e21.25E2二进制,写法:
0b11-
八进制,写法:
011 16进制,写法:
0x11
字符串 string
概括:用来表示文本内容
-
写法:
'你号'"你号"''""' '" " -
转义符:反斜杠
\在字符串中用来表示一些特殊字符,又叫转义符。常用的转义符:
-
\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
概括:只有两个特殊的值,表示真伪
值: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', } -
错误写法:
var obj = { 2k : 'frank', } -
删除
-
删除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'
注:本文为原创文章,著作权归本人和饥人谷所有,转载务必注明来源










