我有个基本的问题。我在学习使用Javascript函数,我学到使用某些东西创建函数,例如:
function Example(text)
{
print(text);
}
然后调用它,使用:
Example();
你可以插入字符串或者在在代码最后部分的括号里插入数字,它将传递并把自己插入到你先前创建的函数里。在这种情况下,它将停止输入我所键入到括号内的任何东西。
现在,我的问题是,如果那样做有效,为什么不在我传递两个数字的地方运行,让它们加入工作?我使用的代码是这样的:
Addition(4, 4);
function Addition(a, b)
{
print(a+b);
}
当我执行这个的时候,Unity告诉我:
Operator '+' cannot be used with a left hand side of type 'Object' and a right hand side of type 'Object'.
我看了这个视频,关于Javascript函数的,大概在第9分钟,视频里的人准确的输入了那个, 并获取脚本为他添加。我是个编程新手,我不知道我错在什么地方,先谢谢大家。
来自@Joetjah 的回答:
实际上, 在Unity里代码应该是这个样子的:
你得调用函数参数中你期望的参数类型。你在JavaScript中那样陈述是正确的,这通常是不需要的。在Unity中虽然也是。
这是因为它实际上称为UnityScript。之所以叫UnityScript,是因为使用者想要指出Unity的Javascript 与用于浏览器的传统Javascript是大有区别的。
我发现了一个列表,详细展示了UnityScript和Javascript的不同点击here.
当我在那个网页之外创建快速符号列表,我能告诉你区别在哪里(可能不太全面):
StackOverflow has this to say about it:
Unity's JavaScript试图紧跟ECMAScript标准,它在许多方面与基于同一标准的JavaScript的其他实现有所变化。或许与Microsoft's Jscript最为相似,尤其是两者都是.NET语言。然而,Unity的版本是独立开发的,有许多两者之间的差异