js数据类型
数据类型:
number、string、boolean、null、undefined、object、symbol
number
整数和小数:1 1.1 .1
科学记数法:1.23e2
二进制:0b11
八进制:011(后来 ES5 添加了 0o11 语法)
十六进制:0x11
string
空字符串:''
多行字符串:
var s = '12345\不能跟空格
67890' // 字符串里无回车符号(不推荐)
var s = '12345' +
'67890' // 字符串里无回车符号
或
var s = `12345
67890` // 字符串里含回车符号
转义字符
用“\”来转义
\n表示回车
\t表示tab键
\符号也用"\"来转义
***空字符串转为number是0,空格字符串转为number为1
boolean
boolean只有两个值true和false
a&&b~~~只有左右都为真才为真
a||b~~~只有左右都为假才为假
null
表示空对象什么都没有
惯例是有一个对象,后边会给值
undefined
表示声明但未定义没有给值
一般是非对象
**以上都是简单类型或叫基本类型
object复杂类型
就是上面几种基本类型(无序地)组合在一起
是由键值对的形式
键名如果不加引号则必须遵循标识符命名规则,中间不能有空格
object['key'] 可以写作 object.key
注意 object.key 与 object[key] 不同
字符串key表示属性名,不加引号表示变量
delete
delete object['key']
删除一个属性,delete操作之后再找不到这个key和对应的value
如果 object['key']=undefined, key in object----true
in
'key' in object
判断一个属性是否在对象里,返回布尔值
---------------------↓---------
记录一些极端的特例
obj.name 就认为是obj['name']
obj[name] name是一个变量
obj['name'] name是obj里一个key
--------↑----------------------
for...in
用来遍历对象 for(key in obj)
for(k in obj){
console.log(obj[k])//必须是中括号且不能加引号,否则会当作属性来访问
}
typeof
检测数据类型
typeof 函数名 返回function
=
把右边东西存下来赋给左边
先确定右边的值
先看左边再看右边赋给左边
赋给.name就是找到.name把值给他