Skip to content

Instantly share code, notes, and snippets.

View black-black-cat's full-sized avatar

bcatb black-black-cat

View GitHub Profile
@black-black-cat
black-black-cat / gulpfile.js
Last active March 2, 2016 03:10
常见的gulp任务
var gulp = require('gulp'),
sass = require('gulp-sass'),
rename = require('gulp-rename'),
uglify = require('gulp-uglify'),
cssnano = require('gulp-cssnano'),
concat = require('gulp-concat'),
imagemin = require('gulp-imagemin'),
autoprefixer = require('gulp-autoprefixer'),
sprite = require('gulp.spritesmith'),
sourcemaps = require('gulp-sourcemaps');
@black-black-cat
black-black-cat / setBaseFontSize.js
Last active July 12, 2016 16:02
一种计算移动端布局尺寸基准的方法
(function(doc, win) {
var docEle = doc.documentElement,
evt = "onorientationchange" in window ? "orientationchange" : "resize",
setBaseFontSize = function() {
var width = docEle.clientWidth;
// 基于320px宽的设计稿,对应100px的基准字体
width && ( docEle.style.fontSize = 100 / 320 * width + "px" );
};
@black-black-cat
black-black-cat / operation.js
Last active March 2, 2016 03:06
运算中的隐式转换
var a;
var b = a * 0; // -> NaN
// NaN == NaN -> false
// NaN === NaN -> false
// b == b -> false
if (b == b) {
console.log(b * 2 + "2" - 0 + 4);
} else {
// 通过 - 号将字符串拼接转换为算术运算
console.log(!b * 2 + "2" - 0 + 4); // -> 26
@black-black-cat
black-black-cat / closure-1.js
Last active March 3, 2016 06:07
定时器与闭包
for ( var d = 0; d < 3; d++ ) {
// 定时器异步执行,它执行时循环已经结束,d的值为3
setTimeout(function(){
console.log(d);
}, 100);
// console记录3次
// -> 3
// -> 3
// -> 3
}
@black-black-cat
black-black-cat / closure-2.js
Last active March 12, 2016 06:18
不使用return的闭包
var outer=null;
var fn=function(){
var a=1;
// 闭包可以访问函数内部的变量
outer=function(){
a++;
console.log(a);
}
}
// 调用fn后,outer有可能用到fn中定义的a,所以a不会被清除,a的生命周期得以延长
@black-black-cat
black-black-cat / style.css
Created March 7, 2016 12:04
html元素的字体大小
@charset "utf-8";
/* ============================= 重置样式 ===================================*/
/* 清除内外边距 */
body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, /* structural elements 结构元素 */
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */
pre, /* text formatting elements 文本格式元素 */
fieldset, legend, button, input, textarea, /* form elements 表单元素 */
th, td { /* table elements 表格元素 */
@black-black-cat
black-black-cat / testSpeed.html
Last active March 10, 2016 07:44
测试jquery选择器速度
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title></title>
<style>
.table {
width: 800px;
height: 600px;
background-color: #fafafa;
@black-black-cat
black-black-cat / 隐藏弹窗.js
Last active March 12, 2016 06:19
隐藏弹窗的三种方法
// 1.
function unShowPopup() {
$(document).on('click', function(ev) {
var $target = $(ev.target);
// 当查找到顶部时还找不到指定的类名,则循环结束
while ($target.length > 0) {
// 当找到了指定类名时,则跳出函数,即不隐藏拥有该类名的元素
if ($target.hasClass('dataform')) {
console.log(1);
return;
@black-black-cat
black-black-cat / min_common_multiple.js
Last active April 24, 2016 11:50
计算多个数字的最小公倍数
function minComMulti() {
var args = [].slice.call(arguments);
var len = args.length;
if (len < 1) return;
if (len === 1) return args[0];
if (len === 2) {
// minTwoMulti();
var max = Math.max.apply(Math, args);
var min = Math.min.apply(Math, args);
for (var i = 1;; i++) {
@black-black-cat
black-black-cat / maxComDivisor.js
Last active April 24, 2016 11:49
计算n个数字的最大公约数
// common divisor
function maxComDivisor() {
var args = [].slice.call(arguments);
var len = args.length;
function maxTwoDivi() {
// var args = [].slice.call(arguments);
// console.log(args);
var max = Math.max.apply(Math, arguments);
var min = Math.min.apply(Math, arguments);
if (max % min === 0) {