property 与 attribute 属性的区别

访问property用js属性表达式 "." "[]"
访问attribute用getAttribute,值永远是字符串

  1. 他们的名字可能不一样,如className,class
  2. 他们的类型可能不一样,如 style 属性返回对象和字符串
  3. 语义不一样,如 href,自动解析补全协议 和 字符串。
  4. 单向同步,如value,attribute同步prototype,这两个东西本质就不是一个东西