HTMLElement #style的未定义属性的赋值的返回值是否保证与赋值相同?
更一般地说,对主机对象的(声明的或未声明的)属性的赋值始终保证返回分配的相同值?如果没有,风格属性是否安全?
换句话说,这样安全吗?
var node = document.getElementById("#foo");
node.style.WebkitTransition =
node.style.MozTransition =
node.style.OTransition = '0.4s all linear';
答案 0 :(得分:1)
是的,你的例子是安全的。根据{{3}},赋值表达式始终返回表达式右侧的值。您的示例将被评估为:
// 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');
由于这是语言规范的一部分,我不希望分配的左侧是什么类型的对象或变量。
答案 1 :(得分:0)
是的,上述方法是安全的。你基本上只是链接var赋值。这跟说
是一样的var c = 'value';
var b = c;
var a = b;
console.log(a) => 'value'