Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk mendapatkan objek dalam Javascript

Bagaimana untuk mendapatkan objek dalam Javascript

藏色散人
藏色散人asal
2021-11-16 11:29:494275semak imbas

Cara mendapatkan objek dalam Javascript: 1. Buat pembina objek melalui fungsi 2. Buat objek melalui baru 3. Dapatkan sifat dan kaedah yang ditakrifkan secara langsung pada objek.

Bagaimana untuk mendapatkan objek dalam Javascript

Persekitaran pengendalian artikel ini: sistem windows7, javascript versi 1.8.5, komputer DELL G3

Bagaimanakah Javascript memperoleh objek?

JavaScript Mendapat sifat dan kaedah objek

1. Mendapat sifat dan kaedah objek

Object.keys() mengembalikan nilai terhitung bagi objek Tatasusunan nama sifat dan kaedah.

Object.getOwnPropertyNames() Mengembalikan tatasusunan semua sifat (boleh dikira atau tidak boleh dikira) yang ditemui terus pada objek yang diberikan.

// 创建一个对象的构造方法
    function myObj(name, attr) {
        this.name = name;
        this.attr = attr;

        this.sayHi = function () {
            return 'hi everyone!!!';
        }
    }

    // 创建一个对象
    var myTester = new myObj("shinejaie", 1)
    // 获取直接在对象上定义(可枚举)的属性和方法
    var arr = Object.keys(myTester);
    console.log('arr', arr); // 输出 arr ["name", "attr", "sayHi"]

    // 返回的数组的所有属性(可枚举或不可枚举)直接找到给定对象。
    console.log("attr", Object.getOwnPropertyNames(myTester)); // 输出 attr ["name", "attr", "sayHi"]

    // 在 Object 原型上增加一个属性
    Object.prototype.newShine = "it's me";

    // 返回可枚举属性一直找到该对象的原型链
    for (var i in myTester) {
        console.log(i);
    }
    // 输出 name,attr,sayHi,newShine

    // 返回直接定义在该对象上的可枚举属性
    for (var i in myTester) {
        if (myTester.hasOwnProperty(i)) {
            console.log(i);
        }
    }
    // 输出 name,attr,sayHi

2. Perbandingan Object.keys(), Object.getOwnPropertyNames(), untuk...dalam...

// 不可枚举的对象属性
    var nonenum = Object.create({}, {
        getFoo: {
            value: function () {
                return this.foo;
            },
            enumerable: false
        }
    });
    nonenum.foo = 1;
    nonenum.asj = 2;

    // 获取对象可枚举或不可枚举的属性
    console.log(Object.getOwnPropertyNames(nonenum).sort()); // 输出 ["asj", "foo", "getFoo"]

    // 获取对象可枚举的属性
    console.log(Object.keys(nonenum).sort()); // 输出 ["asj", "foo"]

    // 返回直接定义在该对象上的可枚举属性
    for (var i in nonenum) {
        if (nonenum.hasOwnProperty(i)) {
            console.log(i); // 输出 foo asj
        }
    }

3. Dapatkan nama sifat objek JavaScript dan kaedah masing-masing Nama

// 创建一个对象的构造方法
    function myObj(name, attr) {
        this.name = name;
        this.attr = attr;

        this.sayHi = function () {
            return 'hi everyone!!!';
        }
    }

    // 创建一个对象
    var myTester = new myObj("shinejaie", 1)

    // 获取对象方法
    for (var i in myTester) {
        if (myTester.hasOwnProperty(i) && typeof myTester[i] == "function") {
            console.log("对象方法: ", i, "=", myTester[i])
        }
    }
    // 输出 对象方法: sayHi = () { return 'hi everyone!!!'; }

    // 获取对象属性
    for (var i in myTester) {
        if (myTester.hasOwnProperty(i) && typeof myTester[i] != "function") {
            console.log("对象属性: ", i);
        }
    }
    // 输出 对象属性: name 对象属性: attr

Pembelajaran yang disyorkan: "Tutorial Asas JavaScript"

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan objek dalam Javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn