JS面向对象之属性

转自:微点阅读  https://www.weidianyuedu.com

属性的删除

属性的检测

枚举属性

序列化对象

//属性的设置和获取 ./[] (区别: .是取自身的属性,[]可以是变量)var obj = {} obj.name = "Tina" obj["age"] = "26" //打印 console.log(obj.name) //Tina console.log(obj["name"]) //Tina console.log(obj.age) //26 console.log(obj["age"])//26 // 访问一个变量 var nameA = "name" console.log(obj[nameA]) //相当于 console.log(obj["name"]), 打印出 Tina

1、属性的删除

// 属性的删除 var o= {} o.name = "Tina" o["age"] = "26" //写法1 delete o.name console.log(o.name) //underfined //写法2 delete o["name"] console.log(o["name"]) //underfined

2、属性的检测

//属性的检测 var o = {} o.name = "Tina" o.age = "underfined" //方法1 in运算符 console.log("name" in o) // true //方法2 hasOwnProperty() console.log(o.hasOwnProperty("name")) //true //方法3 != underfined 对值进行比较(不推荐使用,比如age) console.log(o.name != "underfined") //true /* 补充 = 赋值 == 匹配判断 === 匹配判断,对类型进行判断*/

3、枚举属性(for in多用于对象,for &each多用于数组)

// for in//对象var o = {x:1,y:2,z:3}for(a in o){console.log(a)} // 打印出key: x y zfor(a in o){console.log(o[a])} //打印出value: 1 2 3//数组var arr = [{x:1},{y:2},{z:3}]for(a in arr){console.log(a)} // 打印出索引: 0 1 2for(a in arr){console.log(arr[a])} //打印出对象key: value//同步for(var i = 0; i<10; i ) { console.log(i) //打印出索引0~9}//异步var data = msg; //假设已取到后台返回的值$.each(data, function(indedx, item) { alert(data)})alert(data)//如果此alert先出现就改用for})

4、序列化对象

//序列化对象var o = {x:1,y:2,z:3}var str = JSON.stringify(o) //转换为字符串{"x":1,"y":2,"z":3}console.log(typeof(str)) //stringvar obj = JSON.parse(str)) //{x: 1, y: 2, z: 3}console.log(typeof(obj)) //object//深拷贝(双胞胎)浅拷贝(影子)JSON.parse();//深拷贝/*浅拷贝*/var o2 = {x:1,y:2,z:3}var p = o2o2.x = "111"console.log(p) // {x:111,y:2,z:3}/*---------------*/function getFormData() { var _name = "Tina" var _age = "26" var data = { "name":_name, "age":_age } return data}//提交$(".btn-submit").on("click",function () { var data = getFormData() console.log(JSON.stringify(data)) //{"name":"Tina","age":"26"} $.ajax({ type: "POST", url: url, cache: false, data: {dataJson:JSON.stringify(data)}, //传参 dataType: "json", //返回值类型 success:function(msg){ // }, error:function(){ // } })})

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值