如何让钛允许为JavaScript函数设置默认参数值

时间:2016-05-07 17:08:58

标签: titanium appcelerator-titanium appcelerator-studio

基本上,以下模式被拒绝并被视为错误。

function fooBar(flag = true) {
  // flag will be set to true is someone called fooBar() without any parameters
}

编辑:我添加了以下代码段以显示实际操作。这更优雅,更易于阅读和维护,运行速度更快(无下划线要求)......并且它受JavaScript支持。

function greet(param = "World") {
	alert("Hello " + param + "!");
}

greet(); // Will alert "Hello World"
greet("Thomas"); // Will alert "Hello Thomas"

由于

1 个答案:

答案 0 :(得分:1)

它比一个问题更像是一个javascript问题。 您可以使用下划线lib中的isUndefined函数(包含Alloy):

function fooBar(flag) {
  // flag will be set to true is someone called fooBar() without any parameters
  if(_.isUndefined(flag))
    flag = true;

}

不要忘记Titanium Mobile使用ECMAScript 5和函数的默认值参数是在ECMAScript 6中引入的:http://ariya.ofilabs.com/2013/02/es6-and-default-argument.html