<script type="text/javascript">
// console.log(Object)
//console.log(Object.prototype)
console.log(Object.prototype.__proto__)
function Fn() {
this.test1 = function () {
console.log('test1()')
}
}
console.log(Fn.prototype)
Fn.prototype.test2 = function () {
console.log('test2()')
}
var fn = new Fn()
fn.test1()
fn.test2()
console.log(fn.toString())
console.log(fn.test3)
// fn.test3()
/*
1. 函数的显示原型指向的对象默认是空Object实例对象(但Object不满足)
*/
console.log(Fn.prototype instanceof Object) // true
console.log(Object.prototype instanceof Object) // false
console.log(Function.prototype instanceof Object) // true
/*
2. 所有函数都是Function的实例(包含Function)
*/
console.log(Function.__proto__===Function.prototype)
/*
3. Object的原型对象是原型链尽头
*/
console.log(Object.prototype.__proto__) // null
</script>
原型链继承
最新推荐文章于 2024-04-18 23:39:11 发布
这篇博客深入探讨了JavaScript中的原型链概念,展示了函数 Fn 的原型及其原型链。通过创建Fn实例fn,展示了如何调用函数原型上的方法。同时,文章还讨论了函数、Object.prototype以及Function.prototype之间的关系,包括实例化、继承和原型对象的属性。
摘要由CSDN通过智能技术生成