gpt4 book ai didi

javascript - 这是函数声明、表达式和对象吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:43:22 24 4
gpt4 key购买 nike

我正在学习 JavaScript,并且正在努力学习适合我所做工作的术语。创建函数的方法有很多种。

我已经创建了 3 个示例来做同样的事情,但是函数是以完全不同的方式创建的。

我的问题是:

  • 这些方法中有哪一种比另一种更好吗?

  • 为什么我会选择这样或那样做?

  • 最后调用的“对象”方法是什么?

  • 您有什么建议可以使这个示例变得更好?

//EXAMPLE 1
// is this called function declaration?
function add( a, b ) {
return a + b;
}

function subtract( a, b ) {
return a - b;
}

function compute( a, b ) {
var sum = add( a, b );
var difference = subtract( a, b );
var total = sum + difference;

return total;
}

compute( 2, 3 ); //returns 4



//EXAMPLE 2
// is this called function expressions?
var add = function ( a, b ) {
return a + b;
};

var subtract = function ( a, b ) {
return a - b;
};

var compute = function ( a, b ) {
var sum = add( a, b );
var difference = subtract( a, b );
var total = sum + difference;

return total;
};

compute( 2, 3 ); //returns 4




//EXAMPLE 3
// what is this method called?
var calculator = {
add: function ( a, b ) {
return a + b;
},
subtract: function ( a, b ) {
return a - b;
},
compute: function ( a, b ) {
var sum = this.add( a, b );
var difference = this.subtract( a, b );
var total = sum + difference;

return total;
}
}

calculator.compute( 2, 3 ); //returns 4

最佳答案

is this called function declaration?

function add( a, b ) {
return a + b;
}

是的。

is this called function expressions?

var add = function ( a, b ) {
return a + b;
};

是的。请注意,只有 function(...){...} 部分是函数表达式,其余部分是正常赋值(带初始化程序的变量声明,迂腐)。

what is this method called?

… {
add: function ( a, b ) {
return a + b;
},

}

同样,它是一个函数表达式。在此处用作对象文字中的属性值,以定义方法。

Are any one of these methods better than the other?

函数声明优于将函数表达式分配给变量(有 slight differences )。您应该仅在需要表达式的地方使用表达式(例如在 IIFE、条件赋值、属性赋值、属性定义、返回语句等中)。

关于javascript - 这是函数声明、表达式和对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35785687/

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