js-module-1.md
常用JS库
Particles.js — 一个用来在 web 中创建炫酷的浮动粒子的库
Three.js — 一个用来在 web 中创建 3d 物体和 3d 空间的库
Fullpage.js— 快速实现全屏滚动特性
Typed.js — 打字机效果
Waypoints.js — 滚动到某个元素位置时触发一个功能
Highlight.js — web 语法高亮
Chart.js — 使用 JavaScript 创建漂亮的图表
Instantclick — 能够明显加速网站加载时间,鼠标 hover 时预加载资源
Chartist — 另一个图表库
Motio — 一个基于动画和平移的雪碧图库
Animsition — CSS 实现动画过渡的 jQuery 插件
Barba.js — 流式页面过渡
TwentyTwenty — 一个对比图片的可视化 diff 工具
Vivus.js — 在 SVG 上绘制动画
Wow.js — 滚动时展现动画
Scrolline.js — 页面滚动时显示滚动进度
Velocity.js — 快速流畅的 JavaScript 动画
Animate on scroll — 漂亮的页面滚动元素动画
Handlebars.js — Javascript 模板
jInvertScroll — 视差滚动
One page scroll — 又一个页面滚动库
Parallax.js — 对智能设备方向变化做出响应的视差引擎
Typeahead.js — 搜索补全
Dragdealer.js — 炫酷拖拽
Bounce.js — 创建炫酷的 CSS3 动画
Pagepiling.js — 全屏滚动
Multiscroll.js — 两列垂直反向滚动
Favico.js — 动态 favicon
Midnight.js — 固定头部切换效果
Anime.js — 动画库
Keycode — 获取键盘按键的 JavaScript keycode
Sortable — 拖拽插件
Flexdatalist — 自动补全
Slideout.js — 移动应用侧滑导航
Jquerymy — 使用 jQuery 实现双向数据绑定
Cleave.js — 实时格式化输入内容
Page — 客户端单页应用路由
Selectize.js — 用来添加 tag 的 Hybrid 选择框
Nice select — 创建漂亮的选择框的 jQuery 库
Tether — 使用固定定位来创建相关元素
Shepherd.js — 为应用创建新手引导
Tooltip — tooltip 提示框
Select2 — Jquery 选择框插件
IziToast — 通知弹窗实现
IziModal — 模态框实现
CSS 库 / 设计相关
Animate.css — 动画库
Flat UI Colors — 扁平化设计配色
Material design lite— 基于 Google material design 的框架
Colorrrs — 随机颜色生成器
Section separators — CSS 实现区域分割
Topcoat — 框架
Create ken burns effect — 使用 CSS3 动画实现 Ken burns 特效
DynCSS — 给 CSS 添加 function,动态化 CSS
Magic animations — CSS3 实现动画特效
CSSpin — css spinners 合集
Feather icons — Icon 集合
Ion icons — Icon 集合
Font awesome — Icon 集合
Font generator — 组合多个字体创建混合字体
On/Off switch — 使用 CSS 创建 on/off 开关、radio 按钮
UI Kit — 框架
Bootstrap — 框架
Foundation — 框架
有用的产品/链接
cheatsheet — 可以写在
中的所有标签Ghost — 基于 Node.js 的博客平台
What runs — 一个用于网站技术分析的 Chrome 插件
Learn anything — 一个强大的用于分析某个主题的思维导图
shell状态
login shell & no-login shell
- login shell
- 当你通过终端输入用户名和密码,然后进入到terminal,这时候进入的shell环境就叫做是login shell,例如,通过ssh远程进入到主机。
- login shell 运行的脚本文件 .bash_profile
- no-login shell
- 例如你已经登陆了你的桌面电脑,这时候在应用管理器中找到termianl图标,然后双击打开终端
- no-login shell 运行的脚本文件 .bashrc
- osx特例
- 每次运行termianl的时候.默认运行login shell状态
- osx 的环境变量都写在 .bash_profile
.bashrc .bash_profile 加载顺序
- .bash_profile .bashrc
git init 说明
git start
- git repository config
|
|
git 分支使用技巧
|
|
start description
- git config 说明
- remote add origin xxx 给本地仓库添加远程仓库 别名 origin
- git 添加远程仓库https ssh 方式是不同的
- ssh 需要通用 ssh key 的方式本地生成ssh key的公钥和私钥将公钥配置到gitserver。ex: github-setting-ssh key
- https 每次push pull 都需要用户密码 用credential.helper 方式保存1234#windowgit config credential.helper=wincred#osxgit config credential.helper=osxkeychain
— git 不同的登录方式ssh https 配置区别还是需要注意
js对象概念
js对象
this 对象
this 指向和调用方式有关 函数调用 对象方法 new表达式
- ==普通函数调用==,this为==全局对象或是undefined==
- ==作为对象的方法==,this为==那个对象==
- new 表达式,this为以该函数为原型的新创建的对象
- 使用 apply/call指定 this 这里this的指向根据函数的上下文
- 用bind绑定固定的this
- 事件处理函数中的this是当前的触发事件的DOM元素(event.currentTarget)
- IE attachEvent添加的事件处理函数中this为window
函数
1.函数声明和 函数表达式 区别
- 在解释器 加载数据时候 有一个函数声明提升 function declaration hoisting
- 函数声明在任何代码之前可用
- 函数表达式必须等到解析器执行到它所在的代码行
2.函数调用的三种方式:
- obj.myFunc();
- myFunc.call(obj,arg);
- myFunc.apply(obj,[arg1,arg2..]);
- call 连续参数 apply 接受 array arguments
- fun.call(thisArg[, arg1[, arg2[, …]]])
- fun.apply(thisArg, [argsArray])
- 参考文档
3.构造函数:
这个新创建的对象的 prototype 被指向到构造函数的 prototype。
- 通过 new 关键字方式调用的函数都被认为是构造函数。
- 在构造函数内部
- 也就是被调用的函数内
- this 指向新创建的对象 Object。
4.原型对象
- 原型对象:有 constructor 指针指向构造函数. 是不安全属性容易被重写!
- 实例:指向原型对象的内部指针 [proto ]. constructor 属性默认调用prototype对象的constructor.
- All objects inherit a constructor property from their prototype:
arguments对象
- 转换成数组
- var args = Array.prototype.silce.call(arguments);
- callee 属性 指向拥有arguments对象的函数
object 对象
1.Object.defineProperty() 参数 对象,属性,描述符(descriptor)
descriptor: configurable emumerable writable value 中一个或多个。
- configurable true 可以从对象属性删除 false 不能从对象属性删除 delete会报错
- emumerable
- writable true 可读写, flase 只读
- value 属性的值
- 访问器属性getter setter 使用 writable value
gulp常用插件
gulp-load-plugins
将所有gulp开头的文件load,
$=require(“gulp-load-plugins”),
通过$访问gulp相关的插件。
gulp-load-plugins
这个插件能自动帮你加载package.json文件里的gulp插件。例如假设你的package.json文件里的依赖是这样的:也就是原始插件名去掉gulp-前缀,之后再转换为驼峰命名。
gulp-jade
编辑jade
gulp-less
编辑less 文件
gulp-flatten
平面任意嵌套的数组,化成非数组项的非嵌套列表
gulp-plumber
Prevent pipe breaking caused by errors from gulp plugins
gulp-uglify
插件用来压缩js文件。
gulp-minify-css
插件用来压缩css文件。
git
Git实践
Git 有三种状态
- 已提交(committed)
- 已修改(modified)
- 已暂存(staged)
Git global setup:
12git config --global user.name "username"git config --global user.email "username@baidu.cn"Create Repository
1234git initgit config user.name "username"git config credential.helper wincred //Caching password in gitgit remote add origin https://git.corp.qihoo.net/kidsguard-web/elder.gitdelete remote branch
1git push origin --delete branchNameGIT关键字
- pull 拉取远程的repo 仓库内容
- fetch
- push 将修改推送到远程的仓库
- checkout 切换分支
- branch test 创建test 分支
- rebase 修改master指针的位置,使得本branch上面的提交都在最新master之后保持提交树的线性关系。
- add 这个命令理解为“添加内容到下一次提交中”而不是“将一个文件添加到项目中”要更加合适。
- reset SHA 会保留工作目录(working directory)。这些提交虽然消失了,但是内容还在磁盘上
- reset –hard SHA “撤销”所有提交和本地修改 (-hard不保留本地磁盘数据)
pull & push (push 类似)
|
|
reset
|
|
checkout
|
|
柯里化
柯里化
- 延时计算
- 通用写法1234567891011121314151617181920var currying = function (fn) {var _args = [];function base() {if (arguments.length === 0) {return fn.apply(this, _args);} else {Array.prototype.push.apply(_args, [].slice.call(arguments));return logic;}}return base;};var add = currying(function(){return [].slice.call(arguments).reduce(function(a,b){return a + b;});})add(1,2,3)(4)(5)();
移动端设计知识库
移动端设计知识库
关键词
px:physical pixel
设备能控制显示的最小单位,我们可以把这些像素看作成显示器上一个个的点。
css px
CSS像素是Web编程的概念,独立于设备的用于逻辑上衡量像素的单位,也就是说我在做网页时用到的CSS像素单位,是抽象的,而不是实际存在的。
pt: point,点,
印刷行业常用单位,等于1/72英寸
dip 设备独立像素
(DIP,device-independent pixel,density-independent pixel)(也叫密度无关像素),可以认为是计算机坐标系统中得一个点,这个点代表一个可以由程序使用并控制的虚拟像素(比如:CSS 像素,只是在android机中CSS 像素就不叫”CSS 像素”了而是叫”设备独立像素”), 然后由相关系统转换为物理像素。
dip或dp,是安卓开发用的单位
比较单位
DPI 点每英寸
dpi (dots per inch): 打印分辨率 (每英寸所能打印的点数,即打印精度)
PPI 像素每英寸
ppi (pixels per inch):图像分辨率 (在图像中,每英寸所包含的像素数目)
计算方法是通过勾股定理算出来对角线包含的像素点然后除以对角线的长度(英寸)得来的
- ppi和dpi经常都会出现混用现象。但是他们所用的领域也存在区别。从技术角度说,“像素”只存在于电脑显示领域,而“点”只出现于打印或印刷领域。
PPI 参数数据
安卓端 PPI 参数
苹果设备 PPI 参数
思考
- PS中的分辨率/寸指的是什么?
- 做web设计的时候通常设置为72 ?
- 做图片输出的时候通常设置为300 ?
- 苹果鼓吹的retina又是什么呢?1080p 4k 等概念?
- 分辨率 分为显示分辨率 和 图片分辨率 分别指什么?
独立完成思考题,恭喜你 完成本课程学习!