使用两个可选条件创建对象属性

时间:2014-06-24 17:16:07

标签: javascript parameters conditional-statements object-property

我想要什么?

我想创建一个对象属性,用于大写字符串中的每个单词,可选地用空格替换下划线和/或首先用小写字符串。我想通过两个参数设置选项:

第一个参数是真的吗?

然后用空格替换所有下划线。

第二个参数是真的吗?

然后首先将整个字符串小写。

到目前为止,我有什么工作?

首先用空格替换下划线然后大写所有单词:

String.prototype.capitalize = function(underscore){
return (underscore ? this.replace(/\_/g, " ") : this).replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); });
}

var strUnderscoreFalse = "javaSCrIPT replace_First_underderscore with whitespace_false";

//replace underscore first = false
console.log(strUnderscoreFalse.capitalize());

var strUnderscoreTrue = "javaSCrIPT replace_First_underderscore with whitespace_true";

//replace underscore first = true
console.log(strUnderscoreTrue.capitalize(true));

FIDDLE

首先使用小写字符串,然后将所有单词大写:

String.prototype.capitalize = function(lower){
return (lower ? this.toLowerCase() : this).replace(/(?:^|\s)\S/g, function(a) { return a.toUpperCase(); });
}

var strLcaseFalse = "javaSCrIPT lowercase First false";

//lowercase first = false
console.log(strLcaseFalse.capitalize());

var strLcaseTrue = "javaSCrIPT lowercase First true";

//lowercase first = true
console.log(strLcaseTrue.capitalize(true));

FIDDLE

我有什么问题?

  • 这是我第一次尝试使用此条件通知创建对象属性。如何将这两个选项连接到我的对象属性函数中,我只需要设置两个参数?

例如:

//replace underscore first = true and lowercase first = true
console.log(str.capitalize(true , true));

//replace underscore first = false and lowercase first = true
console.log(str.capitalize(false , true));
  • “?”:“等语法表示法编写条件的名称是什么?

0 个答案:

没有答案