该函数用于获取给定节点的指定属性的值。

函数参数说明:

  • node:要获取属性值的节点。
  • name:要获取的属性的名称。
  • expected:期望的属性值。
  • propertyInfo:属性的信息。

函数执行过程:

  1. 如果在开发环境中(__DEV__为真),则执行以下代码块。
  2. 如果propertyInfo.mustUseProperty为真,表示该属性必须使用属性方式访问,此时直接返回节点的属性值。
  3. 否则,执行以下代码块。
  4. 对期望的属性值进行字符串强制转换检查,确保它是一个合法的字符串。
  5. 如果disableJavaScriptURLs为假且propertyInfo.sanitizeURL为真,则对期望的属性值进行URL的安全化处理。
  6. 获取属性在HTML中的名称。
  7. 初始化一个字符串变量stringValue,用于存储属性的字符串值。
  8. 如果属性的类型是OVERLOADED_BOOLEAN,并且节点具有该属性,则执行以下代码块。
    • 获取属性的值。
    • 如果属性值为空字符串,返回true
    • 如果应该移除属性(根据shouldRemoveAttribute函数的判断),则返回属性值。
    • 如果属性值等于期望的属性值,返回期望的属性值。
    • 否则,返回属性值。
  9. 否则,如果节点具有该属性,则执行以下代码块。
    • 如果应该移除属性(根据shouldRemoveAttribute函数的判断),则返回属性值。
    • 如果属性的类型是BOOLEAN,则直接返回期望的属性值。
    • 否则,获取属性的字符串值。
  10. 如果应该移除属性,则返回stringValue,如果stringValue为空,则返回期望的属性值,否则返回stringValue
  11. 否则,如果stringValue等于期望的属性值,则返回期望的属性值。
  12. 否则,返回stringValue
JavaScript 函数 getValueForProperty:获取节点属性值

原文地址: https://www.cveoy.top/t/topic/qqin 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录