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 = '&lt;b class="my string"&gt;' + ( typeof variable !== undefined ) ? 'variable' : 0 + '&lt;/b&gt;';

【讨论】:

以上是关于javascript 我可以在字符串中放置变量检查吗的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 package.json 的脚本属性中放置文件名的变量吗

Swift - 如何在每个单独的 SMS Otp UITextfield 中放置多个字符

如何使用 JavaScript 在单元格中放置另一个文本?

如何在javascript中放置链接

在 Angular 组件中放置 JavaScript 监听函数的最佳位置是啥?

我需要在插件选项中放置一个jQuery值或变量