美文网首页
面向对象01-对象的动态特性

面向对象01-对象的动态特性

作者: 肉肉与马甲线的故事 | 来源:发表于2017-05-29 10:39 被阅读0次

对象的动态特性

在js中可以动态的对对象属性进行增加、修改和删除

访问对象的方法

01 可以使用点语法访问

02 可以使用[]语法访问,注意对象的属性必须是字符串,如若不是字符串,会将key值当做变量去作用域内查找,存在会赋值给key,不存在会报错。

代码示例

    //01 创建对象
    var obj = {
        name:"刘德华",
        age:60
    };

    //02 动态的为对象添加属性
    obj.height = "180cm";
    console.log(obj.height);

    //03 动态的为对象添加方法
    obj.maiMeng = function () {
        console.log("华仔会卖萌噢");
    };

    obj.maiMeng();

    //04 修改属性的值:如果设置的属性以前不存在,那么就是添加,如果设置的属性已经存在了,那么就是修改
    obj.name = "王宝强";
    console.log(obj.name);

    //05 删除属性
    delete obj.name;

    console.log(obj.name);  //undefined
    console.log(delete obj.name); //返回值为布尔值,true为删除成功

关键字in与delete

in关键字

  • 判断属性是否存在于对象中,注意所有的key值都为字符串
  • for in 循环中,遍历对象

代码示例

    var obj = {
        name:"张三",
        age:18
    };

    for(k in obj)
    {
        console.log(k,obj[k]);
    }

    //检测obj对象中是否存在name这个属性
    console.log("name" in obj);

注意:in关键字用于操作数组的时候检测的是索引值并非数组元素

delete关键字

  • 删除对象中的属性 delete 对象.属性

  • 删除没有使用var声明的变量

    (1.通常情况下,声明变量需要使用var关键字,默认所有的全局变量都是window的属性;2.特殊情况下,不使用var声明的变量默认为全局变量)

  • 返回值为boolean类型,true表示删除成功

注意点

  • 思考:使用var声明的全局变量可以被删除吗? 不可以
  • 直接添加在window上面的属性可以被删除吗? 可以
    *删除对象中不存在的属性,返回值为rue

相关文章

  • 面向对象01-对象的动态特性

    对象的动态特性 在js中可以动态的对对象属性进行增加、修改和删除 访问对象的方法 01 可以使用点语法访问 02 ...

  • Objective-C的理解与特性

    一门面向对象的语言 面向对象的语言特性:封装、继承、多态 它既具有静态语言的特性(如C++) 又有动态语言的效率(...

  • 面向对象编程(二)

    面向对象编程(二) -------面向对象的基本特性 1、面向对象的基本特性 面向对象的编程是把现实客观存在的...

  • iOS开发初学者学习路线

    基础C语言基本语法、Objective-C基本语法面向对象特性(类、对象、继承、多态、动态类型、动态绑定)协议(P...

  • 面向对象

    面向对象:OOP 面向对象三大特性

  • 面向对象语言基础

    面向对象语言的特性 面向对象的语言的特性:封装、继承、多态。 面向对象语言的设计原则 面向对象的语言在进行程序设计...

  • 面向对象的理解

    面向对象是基于万物皆对象这个哲学观点,把一个对象的静态特性和动态特性抽象成对应类中的属性及方法,而程序就是多个对象...

  • 面向对象:创建对象&继承

    博客内容:什么是面向对象为什么要面向对象面向对象编程的特性和原则理解对象属性创建对象继承 什么是面向对象 面向对象...

  • 理解面向对象

    理解面向对象 阅读知乎大牛对面向对象的讨论后,写下自己的总结和理解。知乎 面向对象的原本特性 面向对象原本的特性(...

  • 面向对象三大特性(一):封装

    面向对象有三大特性:封装、继承和多态。注意,是面向对象的三大特性而不是Java的三大特性,Java只是面向对象语言...

网友评论

      本文标题:面向对象01-对象的动态特性

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