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

标签 javascript html css

对 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/

相关文章:

javascript - Mongoosejs 在 for 循环中使用 Promise

javascript - Cropit 如何在文件选择后调用或执行函数

jquery - 区分 jQuery UI CSS 中的复选框、按钮和 radio

html - Youtube 视频背景缩放 - squarespace

javascript - 上滑下滑覆盖按钮点击问题javascript,css

javascript - 错误检测到多边形中的点

javascript - 动画滚动到带有 ID 的 div

javascript - 基于每 2 个图像行的容器高度

html - iPad 上基于百分比的 CSS 布局中断

html - CSS - 如果溢出则锁定滚动条