14prototype.md

goer ... 2022-01-05 Javascript
  • Javascript
小于 1 分钟

原型和原型链

[toc]

# 原型和原型链

# 1. 对象

普通对象和函数对象

// 函数对象
function ff1(){
    
}
console.log(typeofo(ff1));  // funciton 

//普通对象
var f2 = new function();	

console.log(typeofo(f2));  // object 
1
2
3
4
5
6
7
8
9
10

# 2.定义方法

函数对象定义方法

// 1. 
function f1(){
    
}
// 2.
var f1 = new Function();  

consloe.log(typeof(f1)); //function
// 这样定义的都是函数对象 function
1
2
3
4
5
6
7
8
9

定义普通对象

// 1. 
var o1 = {};
//2.
var o2 = new Object();

consloe.log(typeof(o1)); //Object
// 这样定义的都是普通对象 object
1
2
3
4
5
6
7

# 3.原型

prototype每个函数对象有的一个属性

var f1 = new Function();

console.log(f1.prototype); //函数对象才有
console.log(f1.prototype); //undefined
1
2
3
4

prototype属性就是对象的原型

image-20210714120714313

Person:函数对象

person:普通对象 有伪原型 __proto__

看上面的关系图

function F1(){
    
}
var o1 = new F1();

(f1 === f1.prototype.constructor)  //  true 函数对象和它的原型的constructor相等

(f1.prototype === 01.__proto__)  //true 函数对象的原型等于普通对象的伪原型
1
2
3
4
5
6
7
8

顶级:

Function 是函数对象的顶级

Object 是普通对象的顶级




1
2
3