我正在查看PrototypeJS代码并找到了这个检查 -
var div = document.createElement('div'),
form = document.createElement('form'),
isSupported = false;
if (div['__proto__'] && (div['__proto__'] !== form['__proto__'])) {
isSupported = true;
}
我想知道这个条件返回false的情况是什么 -
div['__proto__'] !== form['__proto__']
注意:该函数的注释说 - “内部用于检测浏览器是否支持扩展html元素原型”。不确定这项检查对此有何帮助。
答案 0 :(得分:0)
此测试允许PrototypeJS确定它是否可以为特定类型的元素原型添加特定方法。
例如,您不希望方法getInputs()
(返回所有表单元素的数组)在<div>
元素上,因为只有在{{1}上使用它才有意义} element。
HTML
<form>
JS
<div id='mydiv'></div>
<form id='myform'></form>
JSFiddle上的示例http://jsfiddle.net/C39gu/