javascript对象的学习

一、对象的定义:

  对象是JavaScript的一个基本数据类型,是一种复合值,它将很多值(原始值或者其他对象)聚合在一起,可通过名字访问这些值。即属性的无序集合。

  JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

  对象只是带有属性和方法的特殊数据类型。

 

 访问对象的属性

  属性是与对象相关的值。

  访问对象属性的语法是:

  objectName.propertyName

  这个例子使用了 String 对象的 length 属性来获得字符串的长度:

  var message="Hello World!";
  var x=message.length;

  在以上代码执行后,x 的值将是:

  12

二、对象的创建(多种方法)

  1、对象直接量 / 字面量 

复制代码
       var obj = {
           name: 'lyl',
           age: 18
       }
       console.log(obj.name); // lyl

2、构造函数:

    (1)、系统自带的的, eg: new Object(), Array(), Number(),Boolean(), Date()...

    

 var obj = new Object();
      obj.name = 'lyl';
      console.log(obj.name); //lyl

     (2)、自定义的:为了和普通函数区分,首字母大写,采用大驼峰式写法(普通函数采用小驼峰式写法)

复制代码
复制代码
复制代码
       function Obj (name) {
          this.name = name;
          this.age = 18;
      }
      var obj = new Obj('lyl');
      console.log(obj.name); //lyl
      console.log(obj.age); //18
复制代码
复制代码
 
 

三、对象的增、删、改、查

  1、增: 所谓增添一个对象的属性,就是直接对该属性进行赋值操作即可,这就相当于为该对象添加了一个新属性,而打印未添加的属性,浏览器不会报错,而是会打印出undefined

  

 var obj = {};
    console.log(obj.name); //undefined (不会报错)
    obj.name = 'lyl';
    console.log(obj.name); // lyl

  

  2、删:我们通过delete操作符来删除一个对象的属性

  

复制代码
复制代码
 var obj = {
       name : 'lyl'
     };
     console.log(obj.name); //lyl
     delete obj.name; 
     console.log(obj.name); //undefined
复制代码
复制代码

  3、改: 修改一个对象的属性是最简单的了,直接通过赋值操作赋予其其他的值即可

  

复制代码
复制代码
var obj = {
      name: 'lyl'
    };
    console.log(obj.name); // lyl
    obj.name = 'obj';
    console.log(obj.name); // obj
复制代码
复制代码

  

  4、查:查询一个对象的属性值有两种方法

  

复制代码
复制代码
复制代码
var obj = {
      name: 'lyl'
    };
    // 第一种方法
   console.log(obj['name']); //lyl
  //  第二种方法
    console.log(obj.name); // lyl
  //p.s.最本质的是第一种方法,因为在使用第二种方法时,后台自动将其转换为第一种字符串的形式来查询 
复制代码
复制代码
复制代码

    

p.s.以上的增、删、改三种操作都只是针对当前对象的属性进行操作,而不会影响到当前对象的原型的属性。

  而查询是先看看当前对象本身是否设置了该属性,如果当前对象未设置该属性,则再看该对象的原型中是否设置了该属性,若两者都没有,则返回undefined

 

 

后续会补充...

复制代码
复制代码

posted on   努力做一个伪程序员  阅读(175)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
· 零经验选手,Compose 一天开发一款小游戏!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示