// ************************** JS 对象 构造函数的原型类型 new 空对象的 -原型 **********************************//
function Person(name, age) {
this.name = name;
this.age = age;
}
Person.prototype.greet = function() {
console.log("Hello " + this.name);
};
var me = new Person(“Valentino”);
me.greet();
// Output: “Hello Valentino”
注意,使用new关键字,被称为“构造函数调用”,new 干了三件事情
创建一个空对象
将空对象的__proto__指向构造函数的prototype
使用空对象作为上下文的调用构造函数function Person(name, age) {
this.name = name;
this.age = age;
}
根据上面描述的,new Person(“Valentino”) 做了:
创建一个空对象:var obj = {}
将空对象的__proto__指向构造函数的 prototype:obj.proto = Person().prototype
使用空对象作为上下文调用构造函数: Person.call(obj)
//***************************** 检查原型链 ********************************************//
检查JS对象之间的原型链接有很多种方法。 例如,Object.getPrototypeOf是一个返回任何给定对象原型的方法。 考虑以下代码:
//***************************** 总结 ********************************************//
JS中的几乎所有东西都是一个对象。 从字面上看。 JS对象是键和值的容器,也可能包含函数。 Object是JS中的基本构建块:因此可以从共同的祖先开始创建其他自定义对象。 然后咱们可以通过语言的内在特征将对象链接在一起:原型系统。
从公共对象开始,可以创建共享原始“父”的相同属性和方法的其他对象。 但是它的工作方式不是通过将方法和属性复制到每个孩子,就像OOP语言那样。 在JS中,每个派生对象都保持与父对象的连接。 使用Object.create或使用所谓的构造函数创建新的自定义对象。 与new关键字配对,构造函数类似于模仿传统的OOP(面向对象的程序设计)的类。
//********************************** 三、JS对象废除 ******************************************************//
对于javascript 语言,其拥有 垃圾回收机制(无用存储单元收集程序),意味着我们可以不必专门销毁对象来释放内存。
如果再没有对对象的引用时,**当运行垃圾回收机制(无用存储单元收集程序)**时,即可销毁所有的对象。
但作为一个良好的习惯,把对象的所有引用都设置为 null,可以强制性地废除对象。
例如:hero=null;当对象变量 hero 设置为 null 后,对第一个创建的对象的引用就不存在了。
这意味着下次运行无用存储单元收集程序时,该对象将被销毁。
注意:废除对象的所有引用时要当心。如果一个对象有两个或更多引用,则要正确废除该对象,必须将其所有引用都设置为 null。
如何将JavaScript代码分解成几行吗?
\ 转义符 把特殊符号显示出来
\n 换行符
在字符串语句中可以通过在第一行末尾使用反斜杠“\”来完成
例:document.write(“This is \a program”);
var newP = document.createElement(“p”);
var textNode = document.createTextNode("this is a new text node ");
newP.appendChild(textNode);
document.getElementById(“firstP”).app