嗨,我有一个名为calc的abject。在这里我有几个功能,包括init。我有三个按钮,我使用jquery附加到div。因此,当用户单击任何按钮时,它将触发输入功能,并且在基于这些条件的一些if else语句之后,它将调用calculate
,reset
和{{1}这三个函数中的其余一个函数。 }。 问题是它不会调用除输入函数之外的其他函数。为什么它的行为如此,以及如何使其发挥作用?
这是我的代码
JS
emailtofriend
这里是 jsfiddle
答案 0 :(得分:1)
您需要调用这些函数,而不仅仅是选择它们: - )
if ( button == 'calculate' ) {
console.log(button);
calc.calculate();
// ^^
} else if (button == 'reset') {
console.log(button);
calc.reset();
// ^^
} else if (button == 'emailtofriend') {
console.log(button);
calc.emailtofriend();
// ^^
}
顺便说一下:使用括号表示法作为成员操作符可以写得更短:
if (button in calc) {
console.log(button);
calc[button]();
}
答案 1 :(得分:1)
你应该将parens放在函数名()
的末尾,如下所示:
if ( button == 'calculate' ) {
console.log(button);
calc.calculate();
} else if (button == 'reset') {
console.log(button);
calc.reset();
} else if (button == 'emailtofriend') {
console.log(button);
calc.emailtofriend();
}