前端学习之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>

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

相关推荐
原则猫3 小时前
函数/变量提升
前端
独泪了无痕3 小时前
Vue3 Hooks使用实战解析
前端·vue.js
shawxlee5 小时前
vue3在public下封装config.js自定义配置动态数据,可在打包后直接修改,方便后端部署及后续维护
前端·javascript·经验分享·vue·团队开发·js·项目优化
用户059540174465 小时前
把记忆存储的回归测试从手工换成 Playwright + GitHub Actions,线上缺陷降低 80%
前端·css
触底反弹5 小时前
🚀 从 DOM0 级到 React 合成事件:前端事件监听的 20 年演进史
前端·react.js·面试
kyriewen5 小时前
我给前端项目的接口请求套了6层保护——才发现以前一直在裸奔
前端·javascript·面试
颜酱5 小时前
04 | 召回前置准备:搭好召回所需的四个数据库
前端·人工智能·后端
郝亚军7 小时前
如何安装webstorm、Node.js和vue CLI
前端·javascript·vue.js
IT_陈寒7 小时前
React的useEffect依赖项把我坑惨了
前端·人工智能·后端
GeekArch7 小时前
第28讲:避坑——AI堆栈分配错误、栈溢出BUG
c语言·人工智能·stm32·mcu·学习·bug