(注释有解释)
html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>函数的属性</title>
</head>
<body>
<!-- ECMAScript中函数是对象,因此函数也有属性和方法,每个函数都包含两个属性:length和prototype -->
<!-- length属性表示函数希望接收的命名参数的个数,希望不是控制 -->
<!-- prototype属性,他是保存实例方法和属性的所在,也就是原型 -->
<script>
function Person(n,a){
this.name = n
this.age = a
}
// 每个函数都有一个,prototype属性,他是保存实例方法和属性的所在,称之为原型,也称为原型对象
// 函数可以把属性和方法挂载道prototype上,所有对象可以用,这样两个相同方法不需要用两个内存空间,只需要用一个内存空间
// 原型链:对象都有__proto__属性,这个属性指向它的原型对象,
// 原型对象也是对象,也有__proto__属性,指向原型对象的原型对象,
// 这样形成的链式结构称为原型链。最顶层找不到返回null
Person.prototype.show_info = function(n,a){
console.log(n,a)
}
let p = new Person('zhangsan',18)
p.show_info(p.name,p.age)
let p1 = new Person('lisi',19)
p1.show_info(p1.name,p1.age)
</script>
</body>
</html>
不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧