Object

作者: 木子木同 | 来源:发表于2018-08-08 16:05 被阅读0次

概述:

对象是一组“键值对”的集合。

 var obj = {
     str1: 'Hello',
     str2: 'World'
};
var obj = {
     str1: 'Hello',    ——> 键值对
 str2: 'World'
 };

键名 <—— str:‘hello’ ——> 键值

键名

所有对象的键名都是字符串。所以加不加引号都代表它是字符串。

 var obj={
      100:'键值1'
 }

调用:obj.100 ??
obj['100']

键值

键值可以是任何数据类型。也可以是函数

 var obj={
    fn:function(x){
       console.log(x)
  }
 }

调用:obj.fn(3)

对象的引用

对象名.键值 该方法可读可写

 var o1 = {};
 var o2 = o1;      
 o1.a = 1;
 o2.a // 1
 o2.b = 2;
 o1.b //2 

属性的操作

1.读取属性

 var obj = {
      str: 'Hello World'
 }; 

obj.p
obj['p'] 使用方括号必须将键名引起来,否则会当做是一个变量

2.删除属性

 var obj={ a:1,b:2,c:3}  
 delete obj.c
 console.log(obj) //{a:1,b:2}

3.属性赋值

 var obj = {};
 obj.a = 'Hello';
 obj['b'] = 'World';

4.查看所有属性 object.keys()

 var obj = {};
 obj.a = 'Hello';
 obj['b'] = 'World';
 object.keys(obj)  //['a','b'] 返回一个数组

5.检测数据是否在对象中 a in obj

 var obj={ a:1,b:2,c:3}
 关键字 in
 a in obj  //true
 d in obj //false
对象的遍历

for.. in循环

  var obj={ a:1,b:2,c:3}
  for (var i in obj){
   console.log(i)//遍历所有键名
   console.log(obj[i]) //遍历所有键值
 }

With语句

 var obj = {p1: 1,  p2: 2,};
  with (obj) {
      p1 = 4;
      p2 = 5;
 }
 // 等同于
 obj.p1 = 4;
 obj.p2 = 5;

with方法,绑定的对象并不明确。只做了解,很少用到。

对象中的this

this 永远指向最后调用它的那个对象。默认指向window。

    var name = "我是外部";
  function a() {
       var name = "我是内部";
       console.log(this.name);   
       console.log("inner:" + this); 
     }
     a();
  console.log("outer:" + this)

this 永远指向最后调用它的那个对象。默认指向window。

 var name = "我是外部";
    var a = {
      name: "我是内部",
     fn : function () {
      console.log(this.name);  
   }
  }
  a.fn();

相关文章

网友评论

      本文标题:Object

      本文链接:https://www.haomeiwen.com/subject/fhrxbftx.html