所以我正在使用简写的javascript if
/ else
语句(我在某处读到它们被称为三元语句?)
this.dragHandle.hasClass('handle-low') ? direction = "left" : direction = "right"
这很好用,但如果以后我想只使用一个速记if
,没有这个else
部分会怎样.喜欢:
direction == "right" ? slideOffset += $(".range-slide").width()
这有可能吗?
我有一个字符串,我想附加一些其他字符串.让我们说:
$my_string = 'Hello';
$my_string .= ' there';
Run Code Online (Sandbox Code Playgroud)
这将返回'你好'.
我想这样做有条件:
$my_string = 'Hello';
$append = 'do';
if ( $append == 'do' ) {
$my_string .= ' there';
}
Run Code Online (Sandbox Code Playgroud)
现在,我想使用三元运算来做到这一点,但我遇到的所有例子都是if/else wich将是这样的:
$my_string .= ( $append == 'do' ) ? ' there' : '';
Run Code Online (Sandbox Code Playgroud)
那么只用IF而没有其他可能吗?
谢谢.
有没有可能写一个速记如果,ELSE IF,否则声明为PHP.
if/else是否清楚,但是当我想使用elseif时(除了switch)之外还有一个缺少方法吗?
if ($typeArray == 'date'){
echo 'date';
} else if($typeArray == 'time'){
echo 'time';
} else {
echo 'text';
}
Run Code Online (Sandbox Code Playgroud)
没有找到任何其他好的答案,其中有嵌套if语句的简写版本,包括elseif.
问候timmi
为清晰起见编辑 - @ Qantas94Heavy - 我理解它是什么"说"或应该做什么,我不明白的是为什么以及更重要的是它是如何工作的:
我正在阅读关于JS Module Pattern的高级教程,它给出了这个例子:
var MODULE = (function (my) {
// add capabilities...
return my;
}(MODULE || {}));
Run Code Online (Sandbox Code Playgroud)
困扰我的事情(我需要你的帮助)是最后一句话:
(MODULE || {}));
Run Code Online (Sandbox Code Playgroud)
我无法理解这背后的语法规则,这使得它成为可能.在搜索关键字,"JavaScript模块语法"和"模块模式短手"之后,我发现我仍然不太了解这背后的基础.
有人请解释或指出我正确的方向,以获得更深入的了解吗?
真诚的,gggi
我只是想知道是否有一些像这样的JS简写:
if (x != 1 && x != 2) do stuff;
这样的野兽存在吗?相反,我想说这样的话:
if (x != 1:2) do stuff;
javascript syntax shorthand-if comparator conditional-statements
在c#中我可以用速记做这样的事情吗?
bool validName = true;
if (validName)
{
name = "Daniel";
surname = "Smith";
}
else
{
MessageBox.Show("Invalid name");
}
Run Code Online (Sandbox Code Playgroud)
我只是想知道类似的东西是否会起作用,但在这个确切的场景中,我知道你可以分配值,如果我的名字= validName?"丹尼尔":"无效",但我只是想知道我能否做到以下?
validName ?
{
name = "Daniel";
surname = "Smith";
}
:
{
MessageBox.Show("Invalid name");
}
Run Code Online (Sandbox Code Playgroud) 说到PHP,我想问一下这两者在性能上有没有区别:
$name=($IsBoy)?"George":"Mary";
Run Code Online (Sandbox Code Playgroud)
对比
if($IsBoy)
{
$name="George";
}
else
{
$name="Mary";
}
Run Code Online (Sandbox Code Playgroud)
这两个会导致不同的操作码吗?
如果是,性能上会有什么理论上的差异吗?(当然忽略这两个需要读/编译/解释的时间)
如果是,那么像 zend 优化器这样的优化器是否会利用这一点并自动进行任何重新安排?
ps 如果您认为我的“全长手” if-then-else 代码太复杂,请提供一个最基本的代码示例并对此进行回答。
更新:
我希望这个问题非常清楚,但似乎人们没有得到这个信息。这个问题是关于性能上的理论(......但真实和可测量的)差异(这就是我在理论中应用粗体和斜体的原因)。请不要回答说哪种编程风格更具可读性,而且这太吹毛求疵而不必担心性能。
ps 2:通过强调“理论”这个词,我试图避免“别担心它不值得麻烦,它只是几纳秒”类型的答案。
我想实现这个目标:
if (full) {
return
}
else{
// nuthin
}
Run Code Online (Sandbox Code Playgroud)
但更短一些,比如:
full ? return : null;
Run Code Online (Sandbox Code Playgroud)
但这不起作用..
我可以做:
if (full) { return }
Run Code Online (Sandbox Code Playgroud)
但我更喜欢三元
我期待类似的full ? return
工作......
我基本上想在值为 true 时突破当前函数...是否有更好/有效的速记可用?
javascript refactoring shorthand-if ternary-operator shorthand
在写is_numeric($var) ? (Int)$var : (String)$var;
,我在想,如果它可能是能够将移动三元运算符的地方,我的部分投变量:
echo (is_numeric($var) ? Int : String)$var;
Run Code Online (Sandbox Code Playgroud)
不出我的意料,它不起作用:
PHP解析错误:语法错误,意外'$ var'(T_VARIABLE)
这是可能吗?或者可能接近我正在尝试做的事情?这更像是一种好奇的东西而不是使用它的需要.
shorthand-if ×10
javascript ×4
php ×4
if-statement ×3
shorthand ×3
c# ×2
casting ×1
comparator ×1
lambda ×1
php-opcode ×1
refactoring ×1
syntax ×1
types ×1