ES中所有参数都是按值传递,就是将函数外部的值复制给函数内部的参数,也就是将一个变量完全复制到另一个变量
向参数传递基本数据类型时,传递的值会被复制给一个局部变量
向参数传递引用类型值时,会把这个值在内存中的地址复制给另一个局部变量,因此这个局部变量的变化会反应在函数的外部(注意: 虽然反应在外部,但是需要一个载体去接受这个值,并不会改变外部传递给它值的对象)
function superType() {
this.property = true
}
superType.prototype.getSuperValue = function () {
return this.property
}
function subType() {
this.subproperty = false
}
subType.prototype = new superType()
subType.prototype.getSubValue = function () {
return this.subproperty
}
var instance = new subType()
alert(instance.getSubValue())
声明两个函数supertype和subtype,supertype给自己的原型添加了一个getSuperValue的属性
subtype实例化superType函数,继承了superType的原型
给自己的原型(也就是supertype的原型添加了一个getSubValue的属性)
instance实例化subtype函数
可以调用到getSuperValue属性