最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

javascript基本函数getAbsoluteUrl、isNative和insertRule用法实例详解

来源:动视网 责编:小采 时间:2020-11-27 20:15:12
文档

javascript基本函数getAbsoluteUrl、isNative和insertRule用法实例详解

javascript基本函数getAbsoluteUrl、isNative和insertRule用法实例详解:getAbsoluteUrl从一个字符串变量得到一个绝对 URL,并不是你想象中这么简单。对于某些 URL 构造器,如果你不提供必要的参数就会出问题(而有时候你真的不知道提供什么参数)。下面有一个优雅的技巧,只需要你传递一个字符串就能得到相应的绝对 URL。va
推荐度:
导读javascript基本函数getAbsoluteUrl、isNative和insertRule用法实例详解:getAbsoluteUrl从一个字符串变量得到一个绝对 URL,并不是你想象中这么简单。对于某些 URL 构造器,如果你不提供必要的参数就会出问题(而有时候你真的不知道提供什么参数)。下面有一个优雅的技巧,只需要你传递一个字符串就能得到相应的绝对 URL。va


getAbsoluteUrl

从一个字符串变量得到一个绝对 URL,并不是你想象中这么简单。对于某些 URL 构造器,如果你不提供必要的参数就会出问题(而有时候你真的不知道提供什么参数)。下面有一个优雅的技巧,只需要你传递一个字符串就能得到相应的绝对 URL。

a 元素的 href 处理和 url 处理看似无意义,而 return 语句返回了一个可靠的绝对 URL。

isNative

如果你想知道一个指定函数是否是原生的,或者能不能通过声明来覆盖它。下面这段便于使用的代码能给你答案:

输出特定的数组) var reHostCtor = /^[object .+?Constructor]$/; // 用一个标准的原生方法作为模板,编译一个正则表达式。 // 我们选择 'Object#toString' 因为它一般不会被污染。 var reNative = RegExp('^' + // 将 'Object#toString' 强制转为字符串 String(toString) // 转义所有指定的正则表达式字符 .replace(/[.*+?^${}()|[]/]/g, '$&') // 用 '.*?' 替换提及的 'toString' ,以保持模板的通用性。 // 将 'for ...' 之类的字符替换掉,以兼容 Rhino 等环境,因为这些环境添加了额外的信息,如方法参数数量。 .replace(/toString|(function).*?(?=()| for .+?(?=])/g, '$1.*?') + '$' ); function isNative(value) { var type = typeof value; return type == 'function' // 用 'Function#toString' (fnToString)绕过了值(value)本身的 'toString' 方法,以免被伪造所欺骗。 ? reNative.test(fnToString.call(value)) // 回退到宿主对象的检查,因为某些环境(浏览器)将类型数组(typed arrays)之类的东西当作 DOM 方法,此时可能不遵循标准的原生正则表达式。 : (value && type == 'object' && reHostCtor.test(toString.call(value))) || false; } // 导出函数 module.exports = isNative; }()); // 用法 isNative(alert); // true isNative(myCustomFunction); // false

这个函数虽不完美,但它能完成任务!

insertRule

我们都知道能通过选择器(通过 document.querySelectorAll )获取一个 NodeList ,并可为每个元素设置样式,但有什么更高效的方法为选择器设置样式呢(例如你可以在样式表里完成):

这对于一个动态且重度依赖 AJAX 的网站来说是特别有用的。如果你为一个选择器设置样式,那么你就不需要为每个匹配到的元素都设置样式(现在或将来)。

matchesSelector
我们经常会在进行下一步操作前进行输入校验,以确保是一个可靠值,或确保表单数据是有效的,等等。但我们平时是怎么确保一个元素是否有资格进行进一步操作呢?如果一个元素有给定匹配的选择器,那么你可以使用 matchesSelector 函数来校验:

文档

javascript基本函数getAbsoluteUrl、isNative和insertRule用法实例详解

javascript基本函数getAbsoluteUrl、isNative和insertRule用法实例详解:getAbsoluteUrl从一个字符串变量得到一个绝对 URL,并不是你想象中这么简单。对于某些 URL 构造器,如果你不提供必要的参数就会出问题(而有时候你真的不知道提供什么参数)。下面有一个优雅的技巧,只需要你传递一个字符串就能得到相应的绝对 URL。va
推荐度:
标签: in 用法 函数
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top