拿一个参数并保留其形式?

时间:2014-12-03 23:26:34

标签: javascript function

我试图扩展我在网上找到的翻译。解释器将一个数字作为唯一参数,并将其作为字符串(1 -> one, 2.3 -> two point three...等)返回。我扩展了它的语言'这样它包括运营商名称(如" TIMES"和" PLUS")。

现在,这是我的问题。为了让这些运算符成立,我发现谨慎包含的唯一方法是将参数作为数字传递,而不是将其作为字符串传递。例如,如果我要将3*5-23.2传递给函数,我希望它返回three TIMES five MINUS twenty three point two。相反,我得到negative eight point two,这是前一个论点的评估形式。

有没有办法操纵参数,以便在评估之前成为一个字符串?或者我必须强制用户输入一个字符串(这是一件坏事吗?)?

编辑1

我的代码是基于控制台的代码;用户像这样访问它:

> wordify(34)
"thirty four"
> wordify(3.4)
"three point four"
> wordify(Math.PI)
"three point one four one five nine two six..."  // omitted for convenience

如果要从<input>元素中抓取它,我就不会遇到麻烦(因为默认情况下会是一个字符串开头),唉,事实并非如此。

1 个答案:

答案 0 :(得分:2)

除了将字符串传递给函数之外别无其他方法,因为在执行函数调用之前必须评估所有参数。为什么你认为期望字符串输入是坏事?如果该值是从HTML输入字段派生的,除非明确评估,否则它将始终为字符串。