<!--
对象
一、对象的创建
1.字面量形式创建对象
var 对象名 = {};//空对象
var 对象名 = {
键:值,
键:值,
...
};
2.通过new Object创建
var 对象名 = new Object();//空对象
3.通过Object对象的create方法创建
var 对象名 = Object.create(null);//空对象
var 对象名 = Object.create(对象);
二、对象的操作
获取对象的属性(如果属性不存在,则获取underfined)
对象名.属性名;
设置对象的属性(如果属性存在,则修改属性值;如果属性不存在,则添加新的属性值)
对象名.属性值 = 值
三、对象的序列化和反序列化
序列化:将JS对象转换成JSON字符串
var 变量名 = JSON.stringify(对象);
反序列化:将JSON字符串转换成JS对象(JSON对象)
var 对象名 = JSON.parse(JSON字符串);
四、this
谁调用函数,this就指代谁。
1.直接调用函数,this代表的全局的window对象
2.调用对象中的函数,this代表的是对象的本身
-->
<script type="text/javascript">
/* 对象的创建 */
// 字面量形式创建对象
var obj1 = {};//空对象
var obj2 = {
name:"zhangsan",
age:"18"
};
console.log(obj1);
console.log(obj2);
// 通过new Object创建
var obj3 = new Object();//空对象
console.log(obj3);
// 通过Object对象的create方法创建
var obj4 = Object.create(null);//空对象
var obj5 = Object.create(obj2);
console.log(obj4);
console.log(obj5);
// 设置对象属性
obj2.age = 20;
obj2.upd = "123456";
console.log(obj2);
console.log(obj2.sex);
console.log("====================");
// 序列化
var obj = {
name:"zhangsan",
pwd :"123456789",
age:18
};
obj.name = "lisi";
console.log(obj);
var objtostr = JSON.stringify(obj);
console.log(objtostr);
// 反序列化
var jsonstr = '{"name":"zhangsan","pwd":"147852369","age":20}';
var jsontoobj = JSON.parse(jsonstr);
console.log(jsonstr);
console.log(jsontoobj);
jsontoobj.name = "lisi";
// this
function test(){
console.log("这是一个测试方法");
console.log(this);
}
test();
// 2.调用对象中的函数,this代表的是对象本身
var o = {
name:"zhangsan",
age:18,
sayhello:function(){
console.log("你好啊~");
console.log(this);//当前o对象
}
};
o.sayhello();
</script>