在 JavaScript 三元运算中不计算 null 值
null value not be evaluated in JavaScript ternary operation
我有一个具有此功能的 javascript 游戏,当用户将鼠标悬停在某个元素上时会显示数据。
这是它的样子:
gameRendering: function (game, e) {
var playerCharacterTitle = game.playerCharacterTitle;
$(user).hover({
content: '<b>Game Characters</b>'
+ (playerCharacterTitle) !== null ? '<b>PC Name:</b> ' + playerCharacterTitle : ''
});
当名为 playerCharacterTitle 的变量不为空时,我希望它显示:“PC 名称:{the_name}”,当名称为空时,我希望它不显示任何内容。
像这样:
PC Name: Gorak
PC Name: LeMara
但出于某种原因,它仍然显示“PC 名称:”,然后是 'null'... 像这样:
PC Name: Gorak
PC Name: null
PC Name: LeMara
PC Name: null
我没有收到任何错误,只有我不喜欢的结果。
我可能做错了什么?
谢谢!
你忘了放括号(所谓的运算符优先规则):
gameRendering: function (game, e) {
var playerCharacterTitle = game.playerCharacterTitle;
$(user).hover({
content: '<b>Game Characters</b>'
+ (playerCharacterTitle !== null ? '<b>PC Name:</b> ' + playerCharacterTitle : '')
});
function gameRendering(game, e) {
var playerCharacterTitle = game.playerCharacterTitle;
//$(user).hover({
var content = '<b>Game Characters</b>'
+ (playerCharacterTitle !== null ? '<b>PC Name:</b> ' + playerCharacterTitle : '')
//});
console.log(content)
}
gameRendering({playerCharacterTitle: null}, 'a');
gameRendering({playerCharacterTitle: "SomeName"}, 'a');
我有一个具有此功能的 javascript 游戏,当用户将鼠标悬停在某个元素上时会显示数据。
这是它的样子:
gameRendering: function (game, e) {
var playerCharacterTitle = game.playerCharacterTitle;
$(user).hover({
content: '<b>Game Characters</b>'
+ (playerCharacterTitle) !== null ? '<b>PC Name:</b> ' + playerCharacterTitle : ''
});
当名为 playerCharacterTitle 的变量不为空时,我希望它显示:“PC 名称:{the_name}”,当名称为空时,我希望它不显示任何内容。
像这样:
PC Name: Gorak
PC Name: LeMara
但出于某种原因,它仍然显示“PC 名称:”,然后是 'null'... 像这样:
PC Name: Gorak
PC Name: null
PC Name: LeMara
PC Name: null
我没有收到任何错误,只有我不喜欢的结果。
我可能做错了什么?
谢谢!
你忘了放括号(所谓的运算符优先规则):
gameRendering: function (game, e) {
var playerCharacterTitle = game.playerCharacterTitle;
$(user).hover({
content: '<b>Game Characters</b>'
+ (playerCharacterTitle !== null ? '<b>PC Name:</b> ' + playerCharacterTitle : '')
});
function gameRendering(game, e) {
var playerCharacterTitle = game.playerCharacterTitle;
//$(user).hover({
var content = '<b>Game Characters</b>'
+ (playerCharacterTitle !== null ? '<b>PC Name:</b> ' + playerCharacterTitle : '')
//});
console.log(content)
}
gameRendering({playerCharacterTitle: null}, 'a');
gameRendering({playerCharacterTitle: "SomeName"}, 'a');