Prototype1.5.1源代码解读分析-3
BrowserFeatures(浏览器特征)的值也是一个对象。内容如下:
{
XPath: !!document.evaluate,
ElementExtensions: !!window.HTMLElement,
SpecificElementExtensions:
(document.createElement('div').__proto__ !==
document.createElement('form').__proto__)
}
Prototype也规定了一个(初始化的)属性来描述浏览器的特征信息,然后它在源代码中被到处使用。这个思想是,第一,让Prototype的源代码更易读;第二,让无论怎样的脚本欺骗必然被浏览器特征所探测出来,目的是减轻维护。(译者注:第二点好像翻译得不太对哦!水平有限!)唯一当前可用的特征探测是浏览器支持DOM LEVEL 3 XPath,在Prototype.BrowserFeatures.XPath.中返回一个布尔值
ScriptFragmentScriptFragment属性的作用是识别脚本的正则表达式,返回一个字符串。在文档中没有找到关于他的描述。内容如下:
ScriptFragment: '<script[^>]*>([\u0001-\uFFFF]*?)</script>'
JSONFilterJSONFilter(JSON过滤器)属性的作用不详,在文档中没有找到关于他的描述。内容如下:
JSONFilter: /^\/\*-secure-\s*(.*)\s*\*\/\s*$/
emptyFunctionemptyFunction(空函数)属性是一个空函数。他不做任何事也不返回任何值。内容如下:
emptyFunction: function() { }
KK属性的作用是回传参数。内容如下:
K:function(x) { return x }
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步