javascript - 带三元运算符的函数声明

标签 javascript function operators ternary-operator function-declaration

是否可以使用三元运算符来声明函数名称?

var foo,
    bar = 'bar';

(foo || bar) = function(){ // Invalid left-hand side in assignment [Bad assignment]
    alert(true);
};

[foo || bar] = function(){ // Invalid left-hand side in assignment [Bad assignment]
    alert(true);
};

(foo ? foo : bar) = function(){ // Invalid left-hand side in assignment [Bad assignment]
    alert(true);
};

最佳答案

this[foo || bar] = function(){alert(true)}

事情是,如果 bar 等于“bar”,你将用一个函数覆盖自己......

关于javascript - 带三元运算符的函数声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14495559/

相关文章:

javascript - Angular slider 不显示

c - 函数参数中的等价运算符 (==)

javascript - 是否有一种可接受的方法来从函数/方法中省略参数?

c# - 帮助解决 C# 中的隐式运算符重载

javascript - 如何在过滤器中使用数组中的值来减少重复代码

java - 是否有与 oracle 中的 q 运算符等效的 java?

javascript - 如何使我的 html 代码中的链接可点击?

javascript - 如何更改 jQuery 中属性的值

javascript - 无法读取未定义、按钮和选项卡的属性 'style'

function - 在没有调用代码的情况下将输出定向到函数中的stdout