网页前端第七次学习笔记

本文详细介绍了JavaScript中对象的创建、操作、序列化和反序列化,以及this关键字的使用。通过字面量、new Object和Object.create方法创建对象,并展示了如何设置和获取对象属性。同时,演示了如何将JS对象转换为JSON字符串以及将JSON字符串还原为JS对象。最后,讨论了this的上下文指向问题,分别在函数直接调用和对象方法调用中的不同表现。
摘要由CSDN通过智能技术生成

<!-- 
            对象
                一、对象的创建
                    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>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值