zoukankan      html  css  js  c++  java
  • JavaScript学习日记2 对象

    JavaScript的对象是一种无序的集合数据类型,它由若干键值对组成。

    JavaScript用一个{...}表示一个对象,键值对以xxx: xxx形式申明,用,隔开。

    如:

    var xiaoming={name:'小明',birth:1990,school:'No.1 Middle School', height:1.70,weight:65,score:null}

    注意:最后一个键值对不需要在末尾加,,如果加了,有的浏览器(如低版本的IE)将报错。

    访问属性是通过.操作符完成的,但这要求属性名必须是一个有效的变量名。如果属性名包含特殊字符,就必须用''括起来:

    如: var xiaoming = {

          name:'小明',

                 'Middle School':'No.1 Middle School'

    }

    xiaoming的属性名middle-school不是一个有效的变量,就需要用''括起来。访问这个属性也无法使用.操作符,必须用['xxx']来访问:

    xiaoming['Middle School'] //No.1 Middle School;

    xiaoming.name  // 小明

    也可以用xiaoming['name']来访问xiaomingname属性,不过xiaoming.name的写法更简洁。我们在编写JavaScript代码的时候,属性名尽量使用标准的变量名,这样就可以直接通过object.prop的形式访问一个属性了。

    由于JavaScript的对象是动态类型,你可以自由地给一个对象添加或删除属性:

    如:

     1 var xiaoming = {
     2     name: '小明'
     3 };
     4 xiaoming.age; // undefined
     5 xiaoming.age = 18; // 新增一个age属性
     6 xiaoming.age; // 18
     7 delete xiaoming.age; // 删除age属性
     8 xiaoming.age; // undefined
     9 delete xiaoming['name']; // 删除name属性
    10 xiaoming.name; // undefined
    11 delete xiaoming.school; // 删除一个不存在的school属性也不会报错

    如果我们要检测xiaoming是否拥有某一属性,可以用in操作符:

     1 var xiaoming = {
     2     name: '小明',
     3     birth: 1990,
     4     school: 'No.1 Middle School',
     5     height: 1.70,
     6     weight: 65,
     7     score: null
     8 };
     9 'name' in xiaoming; // true
    10 'grade' in xiaoming; // false

    注意:不过要小心,如果in判断一个属性存在,这个属性不一定是xiaoming的,它可能是xiaoming继承得到的

    要判断一个属性是否是xiaoming自身拥有的,而不是继承得到的,可以用hasOwnProperty()方法:

  • 相关阅读:
    vue 中 vue-router、transition、keep-alive 怎么结合使用?
    vue 对列表数组删除和增加
    eclipse如何快速查找某个类
    在 eclipse 中设置每行的字数
    如何查看某个端口被谁占用
    sql只修改第一二行数据
    android真机自动化测试
    appium自动化测试中获取toast消息的解决方法【转】
    eclipse下python的selenium自动化环境的搭建
    Xpath用法官方手册
  • 原文地址:https://www.cnblogs.com/qdmaomao/p/4930160.html
Copyright © 2011-2022 走看看