账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    函数被原型下定义之后,创建对象时内存只保持一个函数,那么对象的属性是被单独保存的吗(创建n个对象,内存中就有n个属性的值?
    119
    0

    <script>
    function CreatePerson(name){

    this.name = name;//函数被原型下定义之后,创建对象时内存只保持一个函数,那么对象的属性是被单独保存的吗(创建n个对象,内存中就有n个属性的值?)

    }
    CreatePerson.prototype.showName = function(){
    alert( this.name );
    };

    var p1 = new CreatePerson('小明');
    //p1.showName();
    var p2 = new CreatePerson('小强');
    //p2.showName();

    alert( p1.showName == p2.showName ); //true

    var arr = new Array();
    var date = new Date();

    </script>

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 治钤 普通会员 1楼

      是的,对象的属性是被单独保存的。在JavaScript中,对象的属性是通过属性名和对应的值来定义的。当一个对象被创建时,JavaScript引擎会为这个对象创建一个内存地址,这个地址指向对象的所有属性的内存位置。当对象被销毁时,JavaScript引擎会删除这个地址,释放内存空间。

      当你创建多个对象时,每个对象都有自己的内存地址,但每个对象的所有属性都是共享的,因此每个对象都有多个属性的值。这被称为“属性的引用”。当你修改一个对象的属性时,JavaScript引擎并不会修改其他对象的属性,因为它们的属性引用指向不同的内存地址。

      需要注意的是,虽然JavaScript引擎在创建对象时会为每个对象分配内存地址,但这些地址并不是在创建对象时立即分配的。而是根据需要动态分配的。这就意味着,即使有多个对象,每个对象仍然在自己的内存地址中,而且每个对象的属性都是共享的。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部