前端学习之JavaScript函数的属性length和prototype原型及原型链

(注释有解释)

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>

不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧

相关推荐
spter。17 小时前
一次 Redis SETNX 的小插曲,我重新理解了原子性
前端·redis·bootstrap
张元清17 小时前
React useScrollLock Hook:为弹窗锁住页面滚动 (2026)
javascript·react.js
Sayai18 小时前
【无标题】ECharts 实现日志量异常检测:基线 ±Kσ 基带 + 灵敏度切换(Vue2 实战)
前端·javascript·echarts
zjnlswd18 小时前
C#学习笔记4
笔记·学习·c#
用户31693538118318 小时前
SpringBoot + Vue 项目生产环境部署完整指南
前端·后端
Csvn18 小时前
🔍 TypeScript `satisfies` 操作符:既要类型安全,又要推断的原始字面量类型
前端
Csvn18 小时前
🚦 手写 Promise 并发控制:如何优雅限制异步请求的并发数?
前端
gb421528718 小时前
python中Web应用服务器
开发语言·前端·python
默_笙19 小时前
💌 为了把"主题色"传给孙子组件,我翻了五层楼——直到遇见了 useContext
前端·javascript
颜进强19 小时前
04 - 一张图看懂 OpenSpec 变更的一生:从创建到归档
前端·后端·ai编程