美文网首页
重点--to string

重点--to string

作者: 潘肚饿兵哥哥 | 来源:发表于2019-06-24 19:19 被阅读0次
    function Person(name , age , gender){
        this.name = name;
        this.age = age;
        this.gender = gender;
    }
    
    
    
    //创建一个Person实例
    var per = new Person("孙悟空",18,"男");
    
    
    console.log(per);
    console.log(per.toString());

这个例子视频里是\color{rgba(254, 67, 101, .8)}{console.log(per);}\color{rgba(254, 67, 101, .8)}{console.log(per.toString());}返回值都是:\color{rgba(254, 67, 101, .8)}{[object  Object]}

但是我的返回值不一样,如下

image.png
    function Person(name , age , gender){
        this.name = name;
        this.age = age;
        this.gender = gender;
    }
    
    
    
    //创建一个Person实例
    var per = new Person("孙悟空",18,"男");
    
    var result = per.toString();
    console.log(per.__proto__.__proto__.hasOwnProperty("toString"));
image.png

之所以返回值是\color{rgba(254, 67, 101, .8)}{[object  Object]} 是因为上面这个原因,原型的问题


源码:

    <!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            function Person(name , age , gender){
                this.name = name;
                this.age = age;
                this.gender = gender;
            }
            
            //修改Person原型的toString
            Person.prototype.toString = function(){
                return "Person[name="+this.name+",age="+this.age+",gender="+this.gender+"]";
            };
            
            
            //创建一个Person实例
            var per = new Person("孙悟空",18,"男");
            var per2 = new Person("猪八戒",28,"男");
            
            //当我们直接在页面中打印一个对象时,事件上是输出的对象的toString()方法的返回值
            //如果我们希望在输出对象时不输出[object Object],可以为对象添加一个toString()方法
            //Person[name=孙悟空,age=18,gender=男]
            /*per.toString = function(){
                return "Person[name="+this.name+",age="+this.age+",gender="+this.gender+"]";
            };*/
            
            var result = per.toString();
            //console.log("result = " + result);
            //console.log(per.__proto__.__proto__.hasOwnProperty("toString"));
            console.log(per2);
            console.log(per);
            
            
        </script>
    </head>
    <body>
    </body>
</html>

相关文章

网友评论

      本文标题:重点--to string

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