toString()函数
var per = new person("寻物控", 23, "男");
/**
* 当我们在页面上打印一个对象时,事实上是输出函数toString()方法的返回值
*/
console.log(per==per.toString());//ture
/**
* per的原型指向person,person原型指向object对象,toString封装在object对象内部。
*/
console.log(per.__proto__.__proto__.hasOwnProperty("toString"));//ture
如果我们希望输出对象时不一直输出object,可以为对象添加一个toString()方法
per.toString = function () {
return "我是toString()方法返回值";
}
alert(per);//打印我是toString()方法返回值
该方法只是修改了一个对象,如果想要所有由person创建对象都可以的返回自己的属性就必须在原型中修改了。
person.prototype.toString = function () {
return "Person[name="+this.name+",age="+this.age+",gender"+this.gender+"]";
}
垃圾回收(GC)
当一个对象没有任何的变量和属性对它进行引用,我们·将无法再操作该对象。这种就是需要回收的垃圾。
JS中有自动的垃圾回收机制,会自动讲这些垃圾对象从内存中销毁。我们不需要也不能进行垃圾回收操作。
var obj = new Object();
obj = null;//当对象引用值为空,此时oj对象就会被回收
我们需要做的是将无用对象值设置为null