这些东西完全是自己写笔记给自己看,纯记录形式。想系统学习JS当然是去看一本教程。
接触一门语言,通常会了解一下都有什么样的数据。记录一些头脑中的JS数据类型。
基本数据类型有数值(number),字符串(string),布尔值(boolean),对象(object),undefined,null,symbol。symbol是ES6中新增的,暂时把它理解成一种唯一性的记号,用来标记一个key。下面主要讨论前六种。
number
数值能分为整数、小数。形式如下
- 如2 , 2.4。123e-2科学计算法。
- 0b111(0b开头是以二进制表示的数字)
- 0o开头表示八进制
- 0x开头表示十六进制。
- 注意 0111,开头是0,且后面数字都比8小,也被认为是八进制表示的数字。
string
- js里单双引号都能表示字符串,如
'hello'
"hello"
。但是最好做到代码里风格统一,用''
时都用单引号,用""
时都用双引号。 - 一个字符串想换行时,推荐这么写。当然还有其它方法如 \ , ` (Esc角落附近那个点)。字符串有length属性,a.length输出字符串的长度。
var a = "he" +
"llo"
a //"hello"
a.length //5
boolean
布尔值 true和false,做逻辑运算时经常碰到。用到布尔值时,就要了解 运算符,如加减乘除等算术运算符,比较运算符, 还有布尔运算符等。布尔运算符有
- 取反符号!
- 且运算符 &&
- 或运算符 ||
- 三元运算符 ?:
用法以后见到再去记。
undefined 和 null
这个第一次碰到时候很迷惑,都是代表空值啊,为什么有两个?但是已经设计了两个类型,后面拓展更多知识的时候确实能发现虽然都是空,但确实一些地方会有区别。这个我现在不是很清晰,后面学习一段时间后再总结。
object
对象,这是一个我觉得很爽的属性。
var object = {
name: 'wang',
age: 10,
man: true,
qq: undefined,
ww: null,
home: {
country: 'china'
}
}
上面这段代码var object{}
我们定义了一个对象,括号里面就是对象内容。对象就像一个大盒0子,盒子里面能放包括对象在内的所有数据类型。上面的对象里放了字符串,数值,布尔值,null,undefined,对象六种数值类型。
判断变量类型
可以用typeof判断变量xxx的数据类型。当然也有其它方法判断。
typeof xxx //返回对应的类型