let id = setInterval(() =>{
window.clearInterval(id)},duration)
image.png
tween.js缓动函数
cdn搜索tween
var a = 1,2 //报错
image.png
var a=(1,2) //a==2
image.png image.png
console.time();
some codes....
console.timeEnd();
//会打印codes执行的时间
结构化编程:
1.顺序执行
2.有if……else
3.有while/for循环
Model 操作数据
View 表示视图
Controller 是控制器
Model 和服务器交互,Model 将得到的数据交给 Controller,Controller 把数据填入 View,并监听 View
用户操作 View,如点击按钮,Controller 就会接受到点击事件,Controller 这时会去调用 Model,Model 会与服务器交互,得到数据后返回给 Controller,Controller 得到数据就去更新 View
Object.assign部分更新
var book = {name: 'frank', number: 1,id: 2}
Object.assign(book, {name: 'jack', number: 'null'}) //批量赋值
interceptors拦截器
axios.interceptors.response.use(function (response){
//在response被接收前处理其数据
response.data = data1
return response
})
双向绑定
<figure> 元素代表一段独立的内容, 经常与说明(caption)<figcaption>配合使用, 并且作为一个独立的引用单元。当它属于主内容流(main flow)时,它的位置独立于主体。这个标签经常是在主文中引用的图片,插图,表格,代码段等等,当这部分转移到附录中或者其他页面时不会影响到主体。
<figure>
<img src="/media/examples/elephant-660-480.jpg"
alt="Elephant at sunset">
<figcaption>An elephant at sunset</figcaption>
</figure>
filter CSS属性将模糊或颜色偏移等图形效果应用于元素。滤镜通常用于调整图像,背景和边框的渲染。
filter: blur(5px);
.data()本质上属于 DOM属性 和 Jquery对象属性 的区别。
1..attr('data-foo')会从标签内获得data-foo属性值;
.data()是从 Jquery对象 中取值,由于对象属性值保存在内存中,因此可能和视图里的属性值不一致的情况。 •.data('foo', 'world')会将字符串'world'塞到 Jquery对象 的'foo'属性中,而不是塞到视图标签的data-foo属性中。
同时从性能的角度来说,建议使用$.data()来进行set和get操作,因为它仅仅修改的 Jquey对象 的属性值,不会引起额外的DOM操作。
$.post().done(function(ret){
ret.status
})
status - 包含请求的状态01234("success"、"notmodified"、"error"、"timeout"、"parsererror")
--save:将保存配置信息到pacjage.json。默认为dependencies节点中。
--dev:将保存配置信息devDependencies节点中。
devDependencies:生产环境使用
dependencies:线上环境使用
webpack,gulp等打包工具,这些都是开发阶段使用的,代码提交线上时,不需要这些工具,所以将它放入devDependencies即可,但是像jquery这类插件库,如果我们不把他打入线上代码中,那么项目就可能报错,无法运行,所以类似这种项目必须依赖的插件库,放入dependencies中。
Autoprefixer 也仅仅是 PostCSS 其一个最出名的插件
Autoprefixer自动获取浏览器的流行度和能够支持的属性,并根据这些数据帮你自动为 CSS 规则添加前缀。
Sequelize是一个基于promise的关系型数据库ORM框架,这个库完全采用JavaScript开发并且能够用在Node.JS环境中,易于使用,支持多SQL方言(dialect),。它当前支持MySQL,、MariaDB、SQLite、PostgreSQL、Sql Server 数据库。
因为是基于promise规范,在调用后的处理上不再是callback方式,而是统一的链式调用方式,调用直观,易读。
ORM简单的讲就是对SQL查询语句的封装,让我们可以用OOP的方式操作数据库,优雅的生成安全、可维护的SQL代码。直观上,是一种Model和SQL的映射关系。
SQLite是开源嵌入式数据库
事件委托
是利用事件的冒泡原理来实现的,何为事件冒泡呢?就是事件从最深的节点开始,然后逐步向上传播事件,举个例子:页面上有这么一个节点树,div>ul>li>a;比如给最里面的a加一个click点击事件,那么这个事件就会一层一层的往外执行,执行顺序a>li>ul>div,有这样一个机制,那么我们给最外面的div加点击事件,那么里面的ul,li,a做点击事件的时候,都会冒泡到最外层的div上,所以都会触发,这就是事件委托,委托它们父级代为执行事件。
第一,现在委托前台的同事是可以代为签收的,即程序中的现有的dom节点是有事件的;
第二,新员工也是可以被前台MM代为签收的,即程序中新添加的dom节点也是有事件的。
事件分发
网友评论