尽管css选择器效率问题已经不是什么新鲜问题,但是我觉得还是有必要拿出来认真分析一下。之前只是看到别人这么写我也跟着这么写,并没有想清楚问什么要这样写?这样写真的能提高页面渲染效率吗?尽管自己技术不怎么样,但还是需要拿出一种打破砂锅问到底的决心来深究一下css选择器效率问题,通过自己写个demo亲自实践来加深一下对这个问题的理解。
《jQuery内核详解与实践》--读书笔记
第二章 jQuery技术解密
2.2 jQuery原型技术分解
2.2.1 起源–原型继承
var $ = jQuery = function(){
// 函数体
}
jQuery.fn = jQuery.prototype = {
jquery: "1.3.2",
size: function(){
return this.length;
}
}
前端切图技巧
前端开发免不了要切图,面对复杂的页面,仅切图工作就会花费大量的时间。对于追求高效率的我来说这是不可忍受的,并且规划好页面后,切图工作并不需要消耗多少脑细胞,都是很机械化的东西。所以在网上搜了搜一下几种高效的前端切图方法,分析其各自的特点及使用场景并总结归纳出自己常用的切图方法。
《Javascript权威指南》第六版--读书笔记
第 3 章 类型、值和变量
3.1 数字
3.1.3 javascript 中算术运算符
isNaN()参数是 NaN 或一个非数字值返回 true
isFinite() 参数是 NaN,Infinity,-Infinity 的时候返回 false
isNaN(NaN); //true
isFinite(NaN); //false
Bootstrap源码分析系列之核心CSS
本节主要介绍核心CSS,从整体架构中的7个Less文件对应的源码分别进行分析
Bootstrap源码分析系列之初始化和依赖项
在上一节中我们介绍了Bootstrap整体架构,本节我们将介绍Bootstrap框架第二部分初始化及依赖项,这部分内容位于源码的第8~885行,打开源码这部分内容似乎也不是很难理解。但是请站在一个开发者的角度来面对这段源码。为什么要这样写?如果没有Bootstrap框架我能写出类似这样的框架吗?
Bootstrap源码分析系列之整体架构
作为一名合格的前端工程师,你肯定听说过 Bootstarp 框架。确实可以说 Bootstrap 框架是最流行的前端框架之一。可是也有人说 Bootstrap 是给后端和前端小白用的,我认为只要学习它能给我们前端技能带来提升,那么我们就有必要研究一下它。Bootstrap 框架虽然也提供了 javascript 插件,但总感觉不够用。Bootrtrap 更多的则是被用作 css 框架。之前我也用过几次 Bootstrap,感觉确实很快,很方便,用的次数多了就越想弄清楚它到底是怎么回事?它好在哪里?
CSS模糊效果及其兼容方法
今天在整理IE滤镜时网站访问这里,居然找到模糊滤镜blur(),感觉太不可思议了,想不到IE居然会有这么多种滤镜效果,这基本上是模仿PS的。今天的重点是模糊滤镜
《Javascript语言精粹》修订版--读书笔记
第二章、语法
语句
下面列出的值被当做false,其他为true:
- false(boolean)
- 0和NaN(number)
- 空字符串(string)
- null(null)
- undefined(undefined)
韩顺平PHP从入门到精通视频教程笔记
37 整型细节说明
$a;
echo $a;
var_dump($a) //NULL
一个数总是要占用内存空间(字节),在 php 中一个整数一般占用四个字节(与平台相关),一个字节占用 8bit
php 的整数的二进制的最高位表示符号 0 表示正数 1 表示负数
通过 PHP_INT_SIZE 可以显示我们自己的电脑上一个整数用几个字节表示
《细说PHP》第二版--读书笔记
第五章 PHP 的基本语法
5.2.4 在程序中使用空白的处理
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 -->
Javascript获取网页各种高宽及位置总结
screen 对象
获取屏幕的高宽(分辨率)
screen.width; //屏幕的宽
screen.height; //屏幕的高
screen.availWidth; //屏幕可用宽度 屏幕的像素高度减去系统部件高度之后的值
screen.availHeight; //屏幕可用高度 屏幕的像素宽度减去系统部件宽度之后的值
前端构建工具Gulp使用总结
1.安装准备
1.1 Node.js安装
在安装Gulp之前首先的安装Node.js,
安装教程详见Node.js 安装配置
1.2 npm安装
在安装node的时候会自动安装npm模块管理器,详见npm模块管理器
《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之旅
CSS选择器总结
本文主要介绍css各种选择器,总结一下方便自己查询与使用