number string symbel bool undefined null object
1. optional chain语法
这是CoffeeScript中的语法,使用方法:
var obj={
'a':{
'b':{
'c':{
name:"Lucia"
}
}
}
}
obj?.a?.b?.c?.name //"Lucia",意思是如果属性存在,就往下找,如果不存在,就返回undefined
2.undefined和null的区别
变量没有被赋值 -----undefined
有一个非对象,现在没有赋值 ----undefined
有一个对象,现在没有赋值 -----null
3.对象
var person = {name: "Lucia",age: 18}
使用方法:
1.person['name'] :这个单引号不能省略,否则一旦定义了name=‘xxx’,那么person[name]的值会变成xxx。
2.person.name: 这里的name其实是字符串,这种形式只能在对象里面的key符合标识符的规则的情况下使用。
4.对象中删除一个key:
delete person['name']
这时再去访问: person.name
//undefined,无value
'name' in person
//false,无key
5.forin
for(var key in person){
console.log(key) //打印key
console.log(person[key]) //打印value
}
这里的person[key],不能加上单引号,用person['key']和person.name都不行,因为这里的key必须是变量,而上述两种都是字符串。
6.typeof
返回值的类型,有几个特殊的返回值:
- null :typeof null -----------object
- fn : typeof fn ------------function
7.题目重点
- ‘\u00A9’ 表示 ©(版权标记)
- JS引擎不能自动识别编号大于0xFFFF的Unicode字符
- base64编码。定义:base64是一种基于64个可打印字符来表示二进制数据的表示方法。
btoa('aa'): 字符串转base64编码
atob('xxx'): base64编码转字符串 - 要将ASCII码字符转变成base64编码,中间必须加一个转码环节。
比如:btoa('方')-----无法进行,会报错,中文不能直接编码。
正确操作为:
btoa(encodeURLComponent('方')) --------转成base64编码
decodeURL(atob('xxx')) ---------转成原始字符串
网友评论