- 系统内置构造函数的原型属性是不可以修改的,可以操作这个对象的属性(如Arrary,Function,Object)
var arr = [1, 34, 5] //new Array(1,34,5)
Array.prototype = {
name: "karen"
} //原型不能更改,不报错,也不会生效
console.log(Array.prototype)
Array.prototype.age = 88 //但是可以他们的原型属性可以修改
console.log(Array.prototype.age)
- 对象或函数修改属性(增、改、删)不会修改对其原型有影响
function fn() {
name = "karen"
age = 18
}
var obj = {
name: "jack",
age: 20
}
fn.prototype = obj
fn.age = 22 //这里只会覆盖fn的age,不会覆盖到fn的原型
fn.job = "teacher"
fn.name = null
console.log(fn)
console.log(fn.prototype)