function Person(name, age, job) {
    this.name = name;
    this.age = age;
    this.job = job;
    this.friends = {'"Mar", "Court"};
}

Person.prototype = {
    constructor: Person;
    sayName: function() {
        alert(this.name);
    }  
}

var person1 = new Person("Mary", 29, "Software Engineer");
var person2 = new Person("Mike", 27, "Software Engineer");

person1.friends.push("Van");
alert(person1.friends); // "Mar, Court, Van"
alert(person2.friends); // "Mar, Court"
alert(person1.friends === person2.friends); // false
alert(person1.sayName ==== person2.sayName); // true

注:js中 == 和 === 区别

简单来说: == 代表相同, ===代表严格相同, 为啥这么说呢

这么理解:(1)当进行 == 比较时,先检查两个操作数数据类型,如果相同, 则进行 === 比较,否则进行一次类型转换再进行比较;

        (2)而 === 比较时, 如果类型不同,直接就是false.

比较过程:

 (1)双等号==: 

    1)如果两个值类型相同,再进行三个等号 === 的比较

    2)如果两个值类型不同,也有可能相等,需根据以下规则进行类型转换在比较:

       i.  如果一个是null,一个是undefined,那么相等

       ii. 如果一个是字符串,一个是数值,把字符串转换成数值之后再进行比较

 (2)三等号===:

       1)如果类型不同,就一定不相等

     2)如果两个都是数值,并且是同一个值,那么相等;如果其中至少一个是NaN,那么不相等(判断一个值是否是NaN,只能使用isNaN( ) 来判断)

     3)如果两个都是字符串,每个位置的字符都一样,那么相等,否则不相等。

     4)如果两个值都是true,或是false,那么相等

     5)如果两个值都引用同一个对象或是函数,那么相等,否则不相等

     6)如果两个值都是null,或是undefined,那么相等

========== ====================   js中 == 和 === 区别 知识点的来源   ===================================

https://www.cnblogs.com/nelson-hu/p/7922731.html