zoukankan      html  css  js  c++  java
  • JavaScript Object

     JavaScript对象简介

    JavaScript中的对象,是一种无序的集合数据类型,它有若干个键值对组成。我们可以使用一对花括号来表示一个对象

    // 1. 多个键值对之间用逗号分隔,最后一个键值对一般不加逗号
    // 2. kye可以加引号也可以不加,但对于非法命名格式必须加引号
    var myObject = {
        name: 'Mr hu',
        age: 20,
        'phone-num': '123'
    }

     对象的属性其实都是字符串形式,Array也为数组,所以Array的索引其实也是字符串,只不过用的时候可以不加引号。

     JavaScript中的this

    在面向对象语言中,this表示当前对象的一个引用。在JavaScript中,this不是固定不变的,它会随着执行环境的改变而改变。

    • 在对象的方法中,this表示该方法所属的对象
    • 在单独使用时,或在非严格模式下的函数中,this表示全局对象
    • 在严格模式下的函数中,this为undefined
    • 在事件中,this表示绑定该事件的元素

     in操作符

    JavaScript中可以通过使用 in操作符 来判断某个属性是否属于某个对象。这里要注意一下,如果该属性是对象继承过来的,使用 in 判断之后也会返回true。

    var person = {
        name: "Mr hu"
    }
    console.log("toString" in person);  //true

    //这里说明一下:toString属性定义在object对象中,而所有对象最终都会在原型链上指向object对象,所以任何对象使用 in 都可以检测得到toString属性

    hasOwnProperty()方法

    该方法用于判断某个属性是否属于某个对象,并且不是该属性不是通过继承而来的。

    var person = {
        name: "Mr hu"
    }
    console.log(person.hasOwnProperty("toString")); //false

    for...in...循环

    for...in... 是 for 循环的一个变体,它可以将对象的所有属性依次循环出来。

    var person = {
        name: "Mr hu",
        age: 20
    }
    for (let key in person) {
        console.log(key);   //name age
    }

    这里要说明一下,由于Array也是对象,而Array的每个索引被视为它的各个属性,所以使用for...in...循环出来的是它的每个索引。

    var person =["I", "Love", "You"];
    for (let i in person) {
        console.log(i); //0 1 2
    }
  • 相关阅读:
    BZOJ 5308 [ZJOI2018] Day2T2 胖 | 二分 ST表
    CodeForces 464E The Classic Problem | 呆克斯歘 主席树维护高精度
    BZOJ5298 [CQOI2018] 交错序列 | 矩阵乘法和一个trick
    # BZOJ5300 [CQOI2018]九连环 题解 | 高精度 FFT
    [BZOJ5248] 2018九省联考 D1T1 一双木棋 | 博弈论 状压DP
    【2018九省联考】后的瞎扯
    BZOJ 4671 异或图 | 线性基 容斥 DFS
    Luogu 4294 [WC2008]游览计划 | 斯坦纳树
    BZOJ 2434 阿狸的打字机 | AC自动机
    UOJ#7. 【NOI2014】购票 | 线段树 凸包优化DP
  • 原文地址:https://www.cnblogs.com/huwt/p/10615933.html
Copyright © 2011-2022 走看看