gpt4 book ai didi

Javascript 原型(prototype)方法与内部方法

转载 作者:行者123 更新时间:2023-12-02 16:03:45 25 4
gpt4 key购买 nike

使用prototype创建方法有什么区别并只是在函数内创建它?例如,methodOne 之间有什么区别?和methodTwo下面?

function myFunc() {
this.methodOne = function () { console.log("First method.")};
}

myFunc.prototype.methodTwo = function () { console.log("Second method.")};

它们的行为方式似乎相同:

var myFuncInstance = new myFunc();
myFuncInstance.methodOne();
myFuncInstance.methodTwo();

但我的感觉是methodTwo ,通过访问prototype直接,就是做一些不同的事情。

最佳答案

区别在于 myFunc 的每个实例共享同一个 methodTwo 实例,但拥有自己的 methodOne 实例.

var foo = new myFunc();
var bar = new myFunc();
foo.methodOne === bar.methodOne; // false
foo.methodTwo === bar.methodTwo; // true

更进一步来说,如果您要创建 1000 个 myFunc 实例,那么您将创建 1000 个 methodOne 函数,它们都执行相同的操作。仍然只有一个 methodTwo 函数。

关于Javascript 原型(prototype)方法与内部方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30971804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com