撰写网站建设技术解决方案,wordpress怎么改后台密码,网架加工制造厂家,广州建站模板厂家基础数据结构与算法
现在有两个不同的JSON#xff0c;比较复杂#xff0c;可以参考这里的DEMO中返回的JSON。要比较它们的差异#xff0c;除了用现成的工具如
beyond compare以外#xff0c;如果我们的机器上没有安装这个工具#xff0c;能如何较快解决#xff1f;作为一…基础数据结构与算法
现在有两个不同的JSON比较复杂可以参考这里的DEMO中返回的JSON。要比较它们的差异除了用现成的工具如
beyond compare以外如果我们的机器上没有安装这个工具能如何较快解决作为一个程序员一个个对比是不可行的对比完也不会有什么收获。我会把之放进Excel中如果你机器连这个都没有那忽视我先排序再用
二分法去快速定位找到有差异的JSON属性即使是1024个字段的大数据也最多10次的定位即可找到。其实算法这东西并不是给你一道题目然后把死记下来的内容背出来而是当你遇到相应的情景时能想到用这个方法去解决。HTML/CSS
DOCTYPE
曾经项目中遇到这样一个问题用其他浏览器打开页面是好的唯独是IE8打开时出奇地慢。我注意到IE8打开时慢但CPU消耗并不高只是网页空白很久没渲染出来可以排除JS算法上的问题。经过细心研读代码发现有人把一部分script、 link等标签放到了
DOCTYPE的前面。
DOCTYPE是用来告诉浏览器解释整个文档的一套法则的一定要放在HTML部分的最前面先有
script标签那就意味着浏览器已经开始解释了后面再有
DOCTYPE也是没有意义的了。把
DOCTYPE放到HTML部分的最前面一开始提及的问题就解决了。块状元素/内联元素盒子模型
HTML/CSS有一个特征不会报错只会有浏览器渲染出来的结果不符合设计的逻辑这个问题所以遇到问题时也很难拿到网上去搜索答案。所以要把HTML/CSS写好首先要自己理解当中的一些基础原理要说HTML布局
块状元素/内联元素之间的关系我认为是最基础的延伸出去就是CSS
盒子模型。另外HTML中元素的嵌套组合关系也是十分重要的CSS中很多属性如positionz-index都是
基于父对象而言的撇开HTML去谈CSS是无意义的。换而言之要
在结构Structure之下谈论表现Presentation。充分理解HTML/CSS中的这些基础然后制定出适用的一套规范方案绝对让团队的工作效率提高事半功倍。HTML/CSS就能做到的事情无必要把它交给javascript去做
HTML5中一个较大的改进是表单项、多了很多实用属性如required,date控件等但是表单的一些很基础的用法还是不能忘记的。曾经遇到过有人想要实现点击radio旁边的文字时也要选中radio于是就用jQuery去选择写事件。其实这个功能只需要用一个label标签把input包含在里面就可以实现了。还有一些例子如IE的条件注释CSS hack这些功能我也见过去用javascript去实现
if(isIE() IE.Verson 7){//这些是人有封装好的方法 $(.something).css({width:700px})}
这样的代码只会白白耗费浏览器的性能。
HTML/CSS就能做到的事情无必要把它交给javascript去做。HTTP协议
现在很多项目中都是用ajax去提交JSON到后台了原始的那种HTTP提交已经比较少见至少在我的项目中是这样但是我们也不能忘记设置form的method、action的原始提交方式因为这个才是表单提交的原型有助于我们理解HTTP协议例如POST和GET的区别理解数据是怎么样从前端到达后端的又是怎么样从后端返回到前端。当你理解了这个就可以更好地跟后端进行沟通遇到数据上的问题也能较快地定位解决。
javascript
作用域
学过好几种的编程语言作用域问题都是老生常谈了。在javascript中更是有函数的作用域这一基础知识。关于这个推荐《javascript权威指南》。当时我是把中文的读去再去读英文把英文的读完去找图解才感觉到把这一点理解清楚的。
JQuery
选择器
在一个HTML DOM 树中我要进行一个比较复杂的元素选择不包含某些文字的带有某某类名的元素的邻居的父元素的……然后怎么做写一个很复杂的
jQuery选择器打住。jquery选择器原理是用正则表达式去分解你的选择器字符串这一部分叫做
Sizzle然后再用内置的一些遍历函数如prev,next等其实这些函数也是基于DOM提供的方法去找到你想要的元素。我会不去盲目地进行Sizzle的语义歧义测试而是自己根据自己的逻辑去用prev,next等去找到自己的元素而且退一万步来说我也会尽量避免使用复杂的选择器之前的方案也有提及单位个元素用ID多个元素用类绝对高效准确。学习前端的同学们欢迎加入前端学习交流群
前端学习交流QQ群461593224