当前位置: 首页 > news >正文

青岛seo网站排名优化wordpress页面伪静态

青岛seo网站排名优化,wordpress页面伪静态,北京网站制作是什么,榆社网站建设最近在看zepto的源代码#xff0c;把一些有用的函数摘出来#xff0c;看看zepto是怎么实现的#xff0c;自己做的时候也可以用。说实话#xff0c;zepto的实现有一些看起来还是很晦涩的#xff0c;可能是自己的水平不够#xff0c;看不透作者的真正的意图。 1、zepto的正…   最近在看zepto的源代码把一些有用的函数摘出来看看zepto是怎么实现的自己做的时候也可以用。说实话zepto的实现有一些看起来还是很晦涩的可能是自己的水平不够看不透作者的真正的意图。 1、zepto的正则总结 //HTML代码片断的正则fragmentRE /^\s*(\w|!)[^]*/ //匹配非单独一个闭合标签的标签类似将div/div写成了div/tagExpanderRE /(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:])[^]*)\//ig //根节点rootNodeRE /^(?:body|html)$/i //class选择器的正则classSelectorRE /^\.([\w-])$/,//id选择器的正则idSelectorRE /^#([\w-]*)$/, //DOM标签正则tagSelectorRE /^[\w-]$/,2、zepto工具函数总结我的意思只是我感觉比较有用的哈   //判断一个元素是否匹配给定的选择器 //这里作者的实现我觉得有点小问题其思想是在其父元素中按照selecor找出匹配的元素再indexOf判断是否存在但是如果selector是这样的呢“body div .a”,在其父元素中能匹配到body吗我觉得还不如直接在document下匹配欢迎拍砖。可能是我笨吧或者zepto的qsa函数比较高级。zepto.matches function(element, selector) {if (!element || element.nodeType ! 1) return false//引用浏览器提供的MatchesSelector方法var matchesSelector element.webkitMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.matchesSelectorif (matchesSelector) return matchesSelector.call(element, selector);//如果浏览器不支持MatchesSelector方法则将节点放入一个临时div节点//再通过selector来查找这个div下的节点集再判断给定的element是否在节点集中如果在则返回一个非零(即非false)的数字// fall back to performing a selector:var match, parent element.parentNode,temp !parent//当element没有父节点那么将其插入到一个临时的div里面if (temp)(parent tempParent).appendChild(element)//将parent作为上下文来查找selector的匹配结果并获取element在结果集的索引不存在时为1,再通过~-1转成0存在时返回一个非零的值match ~zepto.qsa(parent, selector).indexOf(element)//将插入的节点删掉temp tempParent.removeChild(element)return match}接下来就有个大问题了是zepto的类型判断部分求解答 //问题在这里下面的type函数中很明显有问题啊class2type[toString.call(obj)]我感觉不对啊我感觉应该是toString.call(obj).slice(8,-1);待我去知乎上问下再分享给大家。//好吧我承认自己太急躁了原来还有下面这么一段  $.each(Boolean Number String Function Array Date RegExp Object Error.split( ), function(i, name) { class2type[ [object name ] ] name.toLowerCase() })var class2type{},toStringclass2type.toString; function type(obj) {//obj为null或者undefined时直接返回null或undefinedreturn obj null ? String(obj) : class2type[toString.call(obj)] || object}function isFunction(value) {return type(value) function}function isWindow(obj) {return obj ! null obj obj.window}function isDocument(obj) {return obj ! null obj.nodeType obj.DOCUMENT_NODE}function isObject(obj) {return type(obj) object}//对于通过字面量定义的对象和new Object的对象返回truenew Object时传参数的返回false//可参考http://snandy.iteye.com/blog/663245function isPlainObject(obj) {return isObject(obj) !isWindow(obj) obj.__proto__ Object.prototype}function isArray(value) {return value instanceof Array}//类数组比如nodeList这个只是做最简单的判断如果给一个对象定义一个值为数据的length属性它同样会返回truefunction likeArray(obj) {return typeof obj.length number}3、数组操作 //清除给定的参数中的null或undefined注意0null, null为false //这个很赞用filterfunction compact(array) {return filter.call(array, function(item) {return item ! null})}//类似得到一个数组的副本拷贝数组a就return a.concat([]);很赞function flatten(array) {return array.length 0 ? $.fn.concat.apply([], array) : array} //数组去重如果该条数据在数组中的位置与循环的索引值不相同则说明数组中有与其相同的值 //数组去重的方法有很多但作者的这个方法真心赞让我折服了即短又高效 uniq function(array) { return filter.call(array, function(item, idx) { return array.indexOf(item) idx }) }  4、字符串操作 //将字符串转成驼峰式的格式camelize function(str) {return str.replace(/-(.)?/g, function(match, chr) {return chr ? chr.toUpperCase() : })}//将字符串格式化成-拼接的形式,一般用在样式属性上比如border-width//这个写的太赞了真的是每一句都很赞由衷的佩服。function dasherize(str) {return str.replace(/::/g, /) //将替换成/.replace(/([A-Z])([A-Z][a-z])/g, $1_$2) //在大小写字符之间插入_,大写在前比如AAAbb,得到AA_Abb.replace(/([a-z\d])([A-Z])/g, $1_$2) //在大小写字符之间插入_,小写或数字在前比如bbbAaa,得到bbb_Aaa.replace(/_/g, -) //将_替换成-.toLowerCase() //转成小写}转载于:https://www.cnblogs.com/dunken/p/4396623.html
http://www.pierceye.com/news/546054/

相关文章:

  • 汕尾东莞网站建设wordpress 反斜杠
  • 免费养殖网站模板jquery 的网站模板下载地址
  • 东莞市手机网站建设wordpress异步上传图片
  • 网站阵地建设管理郑州做网站多少钱
  • 自建站平台官方网站建设手机银行
  • 手机端的网站怎么做的苏州网站开发建设
  • wordpress 中型网站重庆seo网站管理
  • 网站有那些风格佛山小程序开发公司
  • 摄影网站制作长春网站建设哪家好
  • 制作社交网站wordpress 自定义文章类型 分页
  • 网站建设服务平台网站免费推广策划方案
  • 福田网站建设电话烟台艺术学校官网
  • iis上部署手机网站网页网站自做全搞定
  • 推荐成都网站建设四川seo推广方案
  • python做网站步骤您的php似乎没有安装运行wordpress所必需的mysql扩展
  • 汕头网站快速排名优化无极网站维护
  • 青岛胶南做网站的赣州章贡区人口
  • 株洲市建设质监站网站高端网站设计理念
  • 俄语网站推广视频聚合网站怎么做不侵权
  • 电商网站 建设目标详细说明ppt公司简介页面设计
  • 制作网站需要学什么软件爱站网关键词查询网站
  • 湘潭网站建设 就找磐石网络网站建设与网络编辑综合实训课程指导手册pdf
  • 生产企业做网站有用吗做公众号编辑用什么网站
  • 宜春做网站的公司wordpress博客下载插件
  • python创建网站网站开发技术与开发环境
  • 云南放心seo整站优化培训网页
  • 本地写wordpress北京百度seo点击器
  • 网站打不开怎么做wordpress 显示 链接深度
  • 新人怎么自己做网站更换wordpress语言包
  • 住房和城乡建设部网站安全分会邯郸做外卖网站的公司