javascript - 在 JavaScript 中更改构造函数

标签 javascript

我尝试了一段时间来为一个对象切换构造函数,但我失败了。继续的代码将显示我需要的示例。谢谢。

    <script type="text/javascript">

    function Me(){

      this.name = "Dejan";
    }

    function You(){

        this.name = "Ivan";
    }


    Me.prototype.constructor = You;
    somebody = new Me();


    alert(somebody.name); // **It gives Dejan, and I am expecting Ivan**

    </script>

最佳答案

Me.prototype.constructor 属性只是Me.prototype 的公共(public)属性,它不会以任何方式用于构建新对象或解析属性名称。

它唯一模糊的兴趣是最初它引用了它的原型(prototype)“属于”的函数,并且 Me 的实例继承了它。因为它是一个公共(public)属性,可以很容易地分配一个新值或隐藏它,所以它不是特别可靠,除非您对它和使用它的代码有严格的控制。

关于javascript - 在 JavaScript 中更改构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6529195/

相关文章:

javascript - meteor 合集(订阅发布)意外收获

javascript - 返回语句在 Ajax 和 Angular 中不起作用

javascript - 如何在 GreaseMonkey 中插入 Javascript 代码而不是 Head

javascript - 带有消息 html/javascript 的进度条

javascript - 如何实现可取消、有序的 promise ?

javascript - 重装驱动后打印机打印垃圾

javascript - 使用 jQuery 检索子按钮的特定父级

javascript - setInterval - 如何只触发一次?

javascript - 如何开始学习 JavaScript

javascript - 如何获取 : Component Width After Render in React