hasOwnProperty in JavaScript

前端 未结 4 780
闹比i
闹比i 2020-12-08 05:57

Consider:

function Shape() {
    this.name = "Generic";
    this.draw = function() {
        return "Drawing " + this.name + " Shape&         


        
相关标签:
4条回答
  • 2020-12-08 06:23

    hasOwnProperty expects the property name as a string, so it would be shape1.hasOwnProperty("name")

    0 讨论(0)
  • 2020-12-08 06:23

    hasOwnProperty() is a nice property to validate object keys. Example:

    var obj = {a:1, b:2};
    
    obj.hasOwnProperty('a') // true
    
    0 讨论(0)
  • 2020-12-08 06:44

    hasOwnProperty is a normal JavaScript function that takes a string argument.

    When you call shape1.hasOwnProperty(name) you are passing it the value of the name variable (which doesn't exist), just as it would if you wrote alert(name).

    You need to call hasOwnProperty with a string containing name, like this: shape1.hasOwnProperty("name").

    0 讨论(0)
  • 2020-12-08 06:46

    Try this:

    function welcomeMessage()
    {
        var shape1 = new Shape();
        //alert(shape1.draw());
        alert(shape1.hasOwnProperty("name"));
    }
    

    When working with reflection in JavaScript, member objects are always refered to as the name as a string. For example:

    for(i in obj) { ... }

    The loop iterator i will be hold a string value with the name of the property. To use that in code you have to address the property using the array operator like this:

     for(i in obj) {
       alert("The value of obj." + i + " = " + obj[i]);
     }
    
    0 讨论(0)
提交回复
热议问题