JavaScript稳妥构造函数模式的一个疑问?

发布于 2022-09-12 01:54:14 字数 464 浏览 37 评论 0

例子来自《高程三》6.2.7:

function Person(name, age, job){
    //创建要返回的对象
    var o = new Object();
    //可以在这里定义私有变量和函数

    //添加方法
    o.sayName = function(){
        alert(name);
    };    
    //返回对象
    return o;
}

var friend = Person("Nicholas", 29, "Software Engineer");
friend.sayName();  //"Nicholas"

问题:想问下这个friend.sayName()涉不涉及闭包,涉及的话关联的作用域对象是?不涉及的话name等变量在哪里保存?

感谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

伏妖词 2022-09-19 01:54:14

涉及闭包。可以先打出friend.sayName

console.dir(friend.sayNam)

image.png
匿名函数的Scopes属性的第一个值就是friend.sayName在创建时形成的闭包。第二个值是window。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文