js原型和构造函数混合模式

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <title>Document</title>
</head>
<body>
<script>
    /**
     * @param name
     * @param age
     * @param work
     */
    function Person(name,age,work){
        this.name = name;
        this.age = age;
        this.work = work;
        this.friends = ["Tom","Lily"];
    }
    Person.prototype = {
        constructor:Person(),
        sayName:function(){
            alert(this.name);
        }
    }
    var person1 = new Person('zhangsan',21,'worker');
    person1.friends.push('hanmeimei');
    var person2 = new Person('lisi',32,'techer');
//    alert(person1.friends);
//    alert(person2.friends);
    person1.sayName();

</script>
</body>
</html>
原文地址:https://www.cnblogs.com/walter371/p/4478192.html