资讯专栏INFORMATION COLUMN

前端碎片知识储备

Donne / 636人阅读

摘要:中的代码中的代码除外都可识别所有的可识别只有可以识别仅与可以识别以及以上版本都可以识别仅可识别以及以下版本可识别以及以上版本可识别仅可识别以及以下版本可识别以及以上版本可识别开发工具相关书籍前端性能与优化

Markdown语法说明:http://www.appinn.com/markdown/

1、前端碎片知识总结篇 1.1 关于浏览器

IE的内核是Trident、Mozilla的内核是Gecko、Chrome的内核是Blink(Webkit的一个分支,谷歌和Opera合作推出)、Opera的内核是Blink(原内核是Presto,现已废弃。)

1.2 jQuery中this与$(this)的区别是什么?
$(#textbo.hover(){
    function() {
           this.title = "Test";
      },
      fucntion() {
          this.title = "OK”;
      }
})

这里的this其实是一个Html 元素(textbox),textbox有text属性,所以这样写是完全没有什么问题的。
但是如果将this换成$(this)就不是那回事了,Error–报了。this与$(this)的区别在此。

错误代码:

//Error Code:
$("#textbox").hover(
   function() {
      $(this).title = "Test";
   },
   function() {
      $(this).title = "OK";
   }
);

这里的$(this)是一个JQuery对象,而jQuery对象沒有title 属性,因此这样写是错误的。

JQuery拥有attr()方法可以get/set DOM对象的属性,所以正确的写法应该是这样:

$("#textbox").hover(
  function() {
     $(this).attr(’title’, ‘Test’);
  },
  function() {
     $(this).attr(’title’, ‘OK’);
  }
);
1.3 有关于闭包的理解。

请看下面一段代码:

(function(x){
    return function(y){
        return function(z){
            alert(123);
            return x+y+z;//结果弹出123,并返回6
        }  
    } 
}(1)(2)(3));

这就是一个典型的闭包

定义匿名函数后立刻执行,并且不会引起window属性的变化,例如:

for (var i=0; i<10; i++) {
 alert(window.i); // window.i=10
}

换成匿名函数调用,如下代码:

(function(){
for (var i=0; i<10; i++) {}
alert(window.i); // window.i = undefined
})();

这样子就不会引起window属性的增加。

1.4 Jquery 中文Api 地址:

http://jquery.org.cn/jqapi

1.5 查询字符串参数
/***************************************
***********查询字符串参数****************
***************************************/
function getQueryStringArgs(){
    //取得查询字符串并去掉开头的问号
  var gs = (location.search.length > 0 ?location.search.substring(1) : ""),
   //substring(start,stop) 查询字符串介于两个指定下标之间的字符
  //保存数据的对象
  args = {},
  //取得每一项
  items = gs.length ? gs.split("&") : [],//split("&") 将字符串分隔成字符串数组
  item = null,
    name = null,
    value = null,
  //for循环中使用
  i = 0,
  len = items.length;
  //逐个将每一项添加到args对象中去
  for (i=0; i
1.6 居中显示的一些方法

1.6.1 宽高固定的盒子居中

结构:

样式:

/*宽高固定 居中显示核心代码*/
.sl-hvalign{position:relative}
.sl-hvslign-inner {
    width: 530px;
  height: 320px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -160px 0 0 -265px; /* 向上偏移高度1/2 向左偏移宽度1/2 */
}

也可以使用 transform 偏移,样式:

.sl-hvslign-inner{
    transform: translate(-50%, -50%);
}

因为使用百分比值定位,参考点在盒子的中心。
宽高未知的情况下,由此方法可延伸,使用javascript动态获取。

1.6.2 模板化居中显示:(以下方法可供模板化的CSS class)

结构:

<--! you Code... -->

样式:

.sl-hvalign{
    display:table;
    overflow:hidden;
    margin:0 auto;
    height:100%;
    *position:relative
}
.sl-hvalign-cnt{
    dispaly:table-cell;
    vertical-align:middle;
    *position:absolute;
    top:50%
}
.sl-hvalign-cnt-inner{
    *position:absolute;
    *top:-50%
}

来自:饿了么前端工程师 sofish

1.7 《javascript 高级程序设计》的一些代码
/***************************************
***********查询字符串参数****************
***************************************/
function getQueryStringArgs(){
    //取得查询字符串并去掉开头的问号
  var gs = (location.search.length > 0 ?location.search.substring(1) : ""),
   //substring(start,stop) 查询字符串介于两个指定下标之间的字符
  //保存数据的对象
  args = {},
  //取得每一项
  items = gs.length ? gs.split("&") : [],//split("&") 将字符串分隔成字符串数组
  item = null,
    name = null,
    value = null,
  //for循环中使用
  i = 0,
  len = items.length;
  //逐个将每一项添加到args对象中去
  for (i=0; i
2 关于移动Web开发:
2.1 关于PPI

 PPI全称为Pixel Per Inch,译为每英寸像素取值,更确切的说法应该是像素密度,也就是衡量单位物理面积内拥有像素值的情况。PPI中的pixel指的应该是物理像素。
显示器上的像素我们就称之为物理像素(physical pixel)或者设备像素(device pixel)。
CSS像素从来都只是一个相对值。在高PPI的设备上,CSS像素甚至在默认状态下就相当于多个物理像素的尺寸。

2.2 webkit内核中的一些私有的meta标签







2.3 CSS基础交互

设置全局的CSS样式,避免图中的长按弹出菜单与选中文本的行为
69b05e0ajw1evlphajoosj20hs0qoadd.jpg

代码如下:

a, img {
    -webkit-touch-callout: none;  /* 禁止长按链接与图片弹出菜单 */
}
html, body {
    -webkit-user-select: none;  /* 禁止选中文本(如无文本选中需求,此为必选项) */
    user-select: none;
}
img {
    vertical-align:bottom;  /* 解决移动端图片的父元素高度多出3.5px */
}
3 关于前端兼容性的储备 3.1 一句话储备:

浏览器默认的margin值和padding值等不统一样式,可以使用重置样式,如*{margin:0;*padding:0;}

PNG24位图片在IE6浏览器上出现背景,可使用PNG8位来替代,或使用成熟js滤镜方案。

IE6元素在浮动后产生双边距问题,在浮动后添加 _display:inline,使该元素转换成行内元素。

3.2 css中的hack代码

.hack {
    background-color:red; /* ie 8/9*/
    background-color: blue9; /* ie 9*/
    background-color: blue9; /* ie 6、7、8*/
    +background-color:#CDCDCD; /* ie 6、7*/
    *background-color:#ffffdd00; /* ie 7*/
    _background-color:#CDCDCD; /* ie 6*/
}
3.3 html中的hack代码
 除IE外都可识别 









4 开发工具 4.1 相关书籍

5 前端性能与优化

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/111128.html

相关文章

  • 前端碎片知识储备

    摘要:中的代码中的代码除外都可识别所有的可识别只有可以识别仅与可以识别以及以上版本都可以识别仅可识别以及以下版本可识别以及以上版本可识别仅可识别以及以下版本可识别以及以上版本可识别开发工具相关书籍前端性能与优化 Markdown语法说明:http://www.appinn.com/markdown/ 1、前端碎片知识总结篇 1.1 关于浏览器 IE的内核是Trident、Mozilla的内核...

    JerryC 评论0 收藏0
  • 朋友去大厂面试Python开发工程师,看完准备过程我傻眼了

    摘要:要面试大厂,自己的知识储备一定要非常丰富,若缺胳膊少腿,别说在实际工作当中,光是面试这一关就过不了。 金九银十刚过去,有一部分朋友在这期间肯定经历了一番大厂面试的洗...

    felix0913 评论0 收藏0
  • 我,27岁,程序员,10月无情被辞:想给学python的人提个醒......

    摘要:就在最新的指数中,数据科学和机器学习项目的首选语言,现在排名仅次于语言,排在第二位,将打落到第三位。特别是在深度学习机器学习等领域的广泛使用,让一跃成为人工智能时代的网红语言。 ...

    ZweiZhao 评论0 收藏0
  • 佛系程序员的月薪五万指南

    摘要:大师错,这是你的第二个误区碎片时间碎片学习青年这有什么问题吗知乎朋友圈头条很多文章我看起来都很有道理啊,而且学的很快大师标题党震惊党鸡汤文养生文我有一个朋友文。。。。。。 摘要: 大师:很简单,我这里有一份佛系月薪 5 万指南,我看你骨骼清奇、脑门光亮,一看就是将要大富大贵之人,这份指南可以助你快速实现小目标! showImg(https://segmentfault.com/img/...

    crossea 评论0 收藏0

发表评论

0条评论

Donne

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<