javascript 我可以在字符串中放置变量检查吗
Posted
技术标签:
【中文标题】javascript 我可以在字符串中放置变量检查吗【英文标题】:javascript can i put a variable check inside a string 【发布时间】:2013-07-19 18:05:41 【问题描述】:在 javascript 中可以实现这样的事情吗?
也许我有一个有时可能未定义的变量(在本例中是一个数字)。我想在字符串中做一些代码来检查变量...
ps:我知道这个 throws 会抛出错误!
var mystring='<b class="my string">'+(if(variable)variable;else0;)+'</b>';
【问题讨论】:
你看过inline conditionals吗? 是的,您可以在 JS 中执行此操作,如下所示,但仅仅因为您可以执行此操作并不意味着您应该这样做。在嵌套在作用域变量中的字符串中插入逻辑不是好的做法。如果您决定编写单元测试甚至调试您的代码,这可能会变得非常困难。我建议将您的逻辑和字符串分配分开。 【参考方案1】:您可以使用conditional operator (?:
):
var
variable = true,
mystring = 'Hello, ' + ( variable ? 'world' : 'nobody' ) + '!'
;
JSFiddle demo.
【讨论】:
【参考方案2】:似乎是三元运算符?对你会有一些用处:
var like = true;
var myString = 'some string i ' + ( (like) ? 'really' : 'do not' ) + ' like' ;
【讨论】:
【参考方案3】:typeof
运算符将特别告诉您变量是否已定义。
链接:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof
例如
var mystring = 'The variable ' + (typeof variable !== 'undefined' ? 'exists' : 'doesn\'t exist');
JSFiddle:http://jsfiddle.net/FlameTrap/AJfFk/1/
【讨论】:
【参考方案4】:var mystring = '<b class="my string">' + ( typeof variable !== undefined ) ? 'variable' : 0 + '</b>';
【讨论】:
以上是关于javascript 我可以在字符串中放置变量检查吗的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 package.json 的脚本属性中放置文件名的变量吗
Swift - 如何在每个单独的 SMS Otp UITextfield 中放置多个字符