对HTMLElement #style的未定义属性的赋值的返回值是否保证与赋值相同?

时间:2012-02-13 05:25:24

标签: javascript html css

HTMLElement #style的未定义属性的赋值的返回值是否保证与赋值相同?

更一般地说,对主机对象的(声明的或未声明的)属性的赋值始终保证返回分配的相同值?如果没有,风格属性是否安全?

换句话说,这样安全吗?

var node = document.getElementById("#foo");
node.style.WebkitTransition = 
    node.style.MozTransition = 
    node.style.OTransition = '0.4s all linear';

2 个答案:

答案 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'