gpt4 book ai didi

Javascript普通函数和函数对象的区别

转载 作者:行者123 更新时间:2023-11-28 13:44:18 25 4
gpt4 key购买 nike

在Javascript中,创建类(或对象)的方式是使用;

function MyObj()
{
this.someVar = "xyz";
this.someMethod = function(){}
}

我的简单问题是这个函数与普通的 JavaScript 函数有什么不同......比如一个将 2 个数字相加的函数?

最佳答案

功能没有什么不同。区别在于您如何调用它们。

例如,这些具有相同的效果:

function MyObj(){
this.someVar = "xyz";
this.someMethod = function(){
console.log(this.someVar);
}
}
var obj = new MyObj();
obj.someMethod();

function someMethod(){
console.log(this.someVar);
}
function MyObj(){
this.someVar = "xyz";
}
var obj = new MyObj();
someMethod.call(obj);

function someMethod(){
console.log(this.someVar);
}
function MyObj(){
this.someVar = "xyz";
}
var obj = new MyObj();
obj.f = someMethod;
obj.f();

当您标记问题时 ,最后我会说构建函数的最佳方法是这样的:

function MyObj(){
this.someVar = "xyz";
}
MyObj.prototype.someMethod = function(){
console.log(this.someVar);
}
var obj = new MyObj();
obj.someMethod();

这样,MyObj 的所有实例都共享相同的功能,因此更轻量。

关于Javascript普通函数和函数对象的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15543804/

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