1. 什么是对象?
1.对象可以看成多个对象的封装体
2.用来保存多个数据的容器
3.一个对象代表一个现实中的事物
let person={
name:'xiaoming',
age:16,
saymyname:function() {
console.log(this.name)
}
}
person.say()
使用对象能更好的理解代码段的意义,便于理解,抽象化现实
2.为什么要用对象
1.统一管理多个数据
2.能将一些相似的数据进行统一管理和打包,在并没有需要动用数据库的情况下
3.对象的组成
属性:属性名(字符串)和属性值组成
方法:一种特殊的属性,也是特殊的对象(属性值是函数)
4.如何访问对象内部数据
4.1使用.
在访问对象内部数据时应先了解对象属性的实际数据类型是什么
例如普通数据直接调用即可
console.log(person.name)
若调用的是方法则可以加()运行
person.saymyname()
若不知到属性的具体内容可将属性打印出来
console.log(person)
PS F:\server\js高级> node obj
{ name: 'xiaoming', age: 16, saymyname: [Function: saymyname] }
4.2使用[]
这中掉用在特殊情况非常有用,
在我一次实验项目中要将mime的类型对应拿来用,但直接.没法按照key取vale
于是
//mime模块
let cont={
".323":"text/h323",
".acx":"application/internet-property-stream",
".ai":"application/postscript",
".aif":"audio/x-aiff",
".aifc":"audio/x-aiff",
".aiff":"audio/x-aiff",
".asf":"video/x-ms-asf",
".asr":"video/x-ms-asf"
.......................
}
module.exports=cont;
//index模块
exname=Path.extname(pathname);
content=mime[exname];
在这种情况使用[]调用属性值时就显得非常方便,当获取到的请求的文件的扩展名直接对应相应的mime值就可以向服务器发送想要的response header;
在特殊情况下没法使用.
let mime={
".323":"text/h323",
"-acx":"application/internet-property-stream",
"~ai":"application/postscript",
}
console.log(mime..323)//会一直报错
console.log(mime[".323"]) // application/internet-property-stream
在包含特殊字符的情况下没法使用.来获取对象属性