CSS选择器性能分析

尽管css选择器效率问题已经不是什么新鲜问题,但是我觉得还是有必要拿出来认真分析一下。之前只是看到别人这么写我也跟着这么写,并没有想清楚问什么要这样写?这样写真的能提高页面渲染效率吗?尽管自己技术不怎么样,但还是需要拿出一种打破砂锅问到底的决心来深究一下css选择器效率问题,通过自己写个demo亲自实践来加深一下对这个问题的理解。

前端切图技巧

前端开发免不了要切图,面对复杂的页面,仅切图工作就会花费大量的时间。对于追求高效率的我来说这是不可忍受的,并且规划好页面后,切图工作并不需要消耗多少脑细胞,都是很机械化的东西。所以在网上搜了搜一下几种高效的前端切图方法,分析其各自的特点及使用场景并总结归纳出自己常用的切图方法。

Bootstrap源码分析系列之初始化和依赖项

在上一节中我们介绍了Bootstrap整体架构,本节我们将介绍Bootstrap框架第二部分初始化及依赖项,这部分内容位于源码的第8~885行,打开源码这部分内容似乎也不是很难理解。但是请站在一个开发者的角度来面对这段源码。为什么要这样写?如果没有Bootstrap框架我能写出类似这样的框架吗?

Bootstrap源码分析系列之整体架构

作为一名合格的前端工程师,你肯定听说过 Bootstarp 框架。确实可以说 Bootstrap 框架是最流行的前端框架之一。可是也有人说 Bootstrap 是给后端和前端小白用的,我认为只要学习它能给我们前端技能带来提升,那么我们就有必要研究一下它。Bootstrap 框架虽然也提供了 javascript 插件,但总感觉不够用。Bootrtrap 更多的则是被用作 css 框架。之前我也用过几次 Bootstrap,感觉确实很快,很方便,用的次数多了就越想弄清楚它到底是怎么回事?它好在哪里?

韩顺平PHP从入门到精通视频教程笔记

37 整型细节说明

$a;
echo $a;
var_dump($a) //NULL

一个数总是要占用内存空间(字节),在 php 中一个整数一般占用四个字节(与平台相关),一个字节占用 8bit
php 的整数的二进制的最高位表示符号 0 表示正数 1 表示负数
通过 PHP_INT_SIZE 可以显示我们自己的电脑上一个整数用几个字节表示

PHP四种基础排序算法的运行时间比较

冒泡排序法

function bubbleSort($array){
    $temp = 0;
    for($i = 0;$i < count($array) -1;$i++){
        for($j = 0;$j < count($array) - 1 -$i;$j++){
            if($array[$j] > $array[$j+1]){  //从小到大排列
                $temp = $array[$j];
                $array[$j] = $array[$j+1];
                $array[$j+1] = $temp;
            }
        }
    }
}

Html5 Web Worker网页工人线程

什么是Web Worker?

web worker 是运行在后台的 JavaScript,不会影响页面的性能。

Web Worker有什么用?

JavaScript语言采用的是单线程模型,也就是说,所有任务排成一个队列,一次只能做一件事。随着电脑计算能力的增强,尤其是多核CPU的出现,这一点带来很大的不便,无法充分发挥JavaScript的潜力。
Web Worker的目的,就是为JavaScript创造多线程环境,允许主线程将一些任务分配给子线程。在主线程运行的同时,子线程在后台运行,两者互不干扰。等到子线程完成计算任务,再把结果返回给主线程。因此,每一个子线程就好像一个“工人”(worker),默默地完成自己的工作。这样做的好处是,一些高计算量或高延迟的工作,被worker线程负担了,所以主进程(通常是UI进程)就会很流畅,不会被阻塞或拖慢,可以提高应用的总体性能,并且提升用户体验。

《高性能JavaScript》--读书笔记

第一章 加载和运行

延迟脚本 defer

该属性表明脚本在执行期间不会影响到页面的构造,脚本会先下载但被延迟到整个页面都解析完毕后再运行.只适用于外部脚本

<script src="js/test.js" defer></script>
<div>123</div>
<script>
    alert('script');
    window.onload = function(){
        alert('loaded');
    }
</script>
<!-- 输出顺序 123 script defer loaded   -->

《AngularJs权威指南》--读书笔记

第二章、数据绑定

2.2 简单的数据绑定

<!DOCTYPE html>
<html ng-app>
  <head>
    <title>Simple app</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.13/angular.js"></script>
  </head>
  <body>
    <input ng-model="name" type="text" placeholder="Your name" />
    <h1>Hello {{ name }}</h1>
  </body>
</html>

ng-app 指令定义一个 AngularJS 应用程序。ng-app 声明所有被它包含的元素都属于 AngularJS 应用
ng-model 指令把元素值(比如输入域的值)绑定到应用程序。
ng-controller 指令定义了应用程序控制器。DOM 元素上的 ng-controller 声明所有被它包含的元素都属于某个控制器。
AngularJS 表达式写在双大括号内:。

《JavaScript面向对象的编程指南》--读书笔记

第一章、引言

1.5 面向对象的程序设计常用概念

对象(名词):是指“事物”在程序设计语言中的表现形式。
这里的事物可以是任何东西,我们可以看到它们具有某些明确特征,能执行某些动作。
这些对象特征就叫做属性(形容词),动作称之为方法(动词)。

**类:**实际上就是对象的设计蓝图或制作配方。类更多的是一种模板,而对象就是在这些模版的基础上被创建出来的。

**封装:**主要阐述对象中包含的内容。通常包括:

  • 相关数据(用于存储属性)
  • 基于这些数据所能做的事(所能调用的方法)

**聚合:**将几个现有对象合并成一个新对象的过程
**继承:**实现代码重用
**多态:**不同对象通过相同的方法调用来实现各自行为的能力

SublimeText3常用插件及快捷键总结

SublimeText可谓是前端工程师的代码编辑神器,自从用上它以后一直爱不释手,特别是它强大的插件功能,简直要逆天了。网上也有很多关于SublimeText3的各种插件介绍,其插件功能之多,让人眼花缭乱。今天我主要是来整理一下自己常用的前端插件,并打包上传至我的github,欢迎大家下载交流,若有更好用的插件,还希望推荐。好了废话不多说现在就开始惊奇的sublime之旅