样式属性赋值中的"赋值中的左侧无效"

Eli*_*lka 4 javascript operator-precedence

评估此行时出现错误:

color && el.style.color = color;
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?DOM级别2属性现在是"只读"吗?

T.J*_*der 6

问题是优先的,你需要parens:

function log(msg, color) {
    var el = document.createElement('p');
    el.innerText = msg;
    document.getElementById('log').appendChild(el);
    color && (el.style.color = color);
}
Run Code Online (Sandbox Code Playgroud)

&&优先级高于=没有parens的情况,你最终会尝试分配一个表达式(例如,它有效地读取(color && el.style.color) = color;),这当然是你做不到的.