JavaScript 函数 getValueForProperty:获取节点属性值
该函数用于获取给定节点的指定属性的值。
函数参数说明:
node:要获取属性值的节点。name:要获取的属性的名称。expected:期望的属性值。propertyInfo:属性的信息。
函数执行过程:
- 如果在开发环境中(
__DEV__为真),则执行以下代码块。 - 如果
propertyInfo.mustUseProperty为真,表示该属性必须使用属性方式访问,此时直接返回节点的属性值。 - 否则,执行以下代码块。
- 对期望的属性值进行字符串强制转换检查,确保它是一个合法的字符串。
- 如果
disableJavaScriptURLs为假且propertyInfo.sanitizeURL为真,则对期望的属性值进行URL的安全化处理。 - 获取属性在HTML中的名称。
- 初始化一个字符串变量
stringValue,用于存储属性的字符串值。 - 如果属性的类型是
OVERLOADED_BOOLEAN,并且节点具有该属性,则执行以下代码块。- 获取属性的值。
- 如果属性值为空字符串,返回
true。 - 如果应该移除属性(根据
shouldRemoveAttribute函数的判断),则返回属性值。 - 如果属性值等于期望的属性值,返回期望的属性值。
- 否则,返回属性值。
- 否则,如果节点具有该属性,则执行以下代码块。
- 如果应该移除属性(根据
shouldRemoveAttribute函数的判断),则返回属性值。 - 如果属性的类型是
BOOLEAN,则直接返回期望的属性值。 - 否则,获取属性的字符串值。
- 如果应该移除属性(根据
- 如果应该移除属性,则返回
stringValue,如果stringValue为空,则返回期望的属性值,否则返回stringValue。 - 否则,如果
stringValue等于期望的属性值,则返回期望的属性值。 - 否则,返回
stringValue。
原文地址: https://www.cveoy.top/t/topic/qqin 著作权归作者所有。请勿转载和采集!