对 HTMLElement#style 的未定义属性赋值的返回值是否保证与赋值相同?
更一般地说,对宿主对象的(已声明或未声明的)属性的赋值是否总是保证返回相同的赋值?如果不是,样式属性安全吗?
换句话说,这样安全吗?
var node = document.getElementById("#foo");
node.style.WebkitTransition =
node.style.MozTransition =
node.style.OTransition = '0.4s all linear';
最佳答案
是的,你的例子是安全的。根据ECMA-262 spec , 赋值表达式总是返回表达式右侧的值。您的示例将被评估为:
// original
node.style.WebkitTransition =
node.style.MozTransition =
node.style.OTransition = '0.4s all linear';
// step 1
node.style.WebkitTransition =
node.style.MozTransition =
('0.4s all linear');
// step 2
node.style.WebkitTransition =
('0.4s all linear');
因为这是语言规范的一部分,所以我认为赋值左侧的对象或变量类型无关紧要。
关于javascript - 对 HTMLElement#style 的未定义属性赋值的返回值是否保证与赋值相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9255969/