首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对HTMLElement#style的未定义属性赋值的返回值是否保证与赋值的值相同?

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

Stack Overflow用户
提问于 2012-02-13 13:25:24
回答 2查看 102关注 0票数 0

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

更一般地说,对主机对象(已声明或未声明)属性的赋值是否始终保证返回与赋值相同的值?如果不安全,样式属性是否安全?

换句话说,这是安全的吗?

代码语言:javascript
运行
复制
var node = document.getElementById("#foo");
node.style.WebkitTransition = 
    node.style.MozTransition = 
    node.style.OTransition = '0.4s all linear';
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-13 16:18:42

是的,你的例子是安全的。根据ECMA-262 spec,赋值表达式始终返回表达式右侧的值。您的示例的评估结果为:

代码语言:javascript
运行
复制
// 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
EN

Stack Overflow用户

发布于 2012-02-13 13:48:37

是的,上面描述的方法是安全的。基本上,您只是链接var赋值。这就相当于说

代码语言:javascript
运行
复制
var c = 'value';
var b = c;
var a = b;

console.log(a) => 'value'
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9255969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档