一,js动画基本都是依靠setInterval和setTimeout来实现

1,setInterval是间隔执行,过一段时间执行一次代码

setInterval(function(){},500);即每隔500毫秒执行一次function(),不主动停止,会一直做下去。

2,setTimeout是延时执行,隔一段时间以后执行

setTimeout(function(){},500);即500毫秒以后执行函数function(),执行一次就结束了。

/*var a=0

var b=setInterval(function(){

console.log(a++);

if(a>5){

clearInterval(b);

}

},500);//间隔执行*/



setTimeout(function(){

alert("v");

},2000);//延时执行

二,作用域

1,作用域是程序中定义这个变量的有效作用区域

代码:function a(){

var b=0;

function c(){

var d=5;


}

c();

alert(b);

alert(d);

}

a();

只会弹出变量b,因为d只在函数c内生效。

2,全局变量和局部变量

有作用域限制的函数是局部变量。定义在最外面,全局生效的变量叫全局变量。

3,作用域链:即变量的查询过程:由内到外。

 

弹出变量v,因为是在函数a内调用,所以先在函数a里查询,结果找不到,再向外一层查找v,找到后弹出。(如果全局也没找到变量v,则会显示no defined)

4,javascript里没有块级作用域

即函数内定义的变量在函数外是拿不到的。

function(){var a=1 };

alert(a);//在函数外是没有办法调用变量a的。

三,闭包

1,闭包就是能够读取其他函数内部变量的函数。

2,让这些变量的值始终保持在内存中。

3,闭包可以保护函数内的变量安全。





//CSS3 4种变形方式:旋转,平移,缩放,扭曲(斜切)

[学习笔记]js动画实现方法,作用域,闭包的更多相关文章

  1. amazeui学习笔记--js插件(UI增强)--警告框Alert

    amazeui学习笔记--js插件(UI增强)--警告框Alert 一.总结 1.警告框基本样式:用am-alert声明div容器, <div class="am-alert" ...

  2. amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse

    amazeui学习笔记--js插件(UI增强3)--折叠面板Collapse 一.总结 注意点: 1.data-am-collapse:这个东西就是展开折叠事件 2.am-collapse(包括其下属 ...

  3. amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown

    amazeui学习笔记--js插件(UI增强4)--下拉组件Dropdown 一.总结 1.am-dropdown(及其孩子):控制下拉列表的样式 2.data-am-dropdown(及其孩子):控 ...

  4. amazeui学习笔记--js插件(UI增强2)--按钮交互Button

    amazeui学习笔记--js插件(UI增强2)--按钮交互Button 一.总结 1.按钮loading状态: <button type="button" class=&q ...

  5. 前端学习:学习笔记(JS部分)

    前端学习:学习笔记(JS部分) 前端学习:JS学习总结(图解)    JS的简介 JS基本语法 JS内置对象 JS的函数 JS的事件 JS的BOM JS的DOM JS的简介 新建步骤 <body ...

  6. 【python学习笔记】9.魔法方法、属性和迭代器

    [python学习笔记]9.魔法方法.属性和迭代器 魔法方法:xx, 收尾各有两个下划线的方法 __init__(self): 构造方法,创建对象时候自动执行,可以为其增加参数, 父类构造方法不会被自 ...

  7. Java8学习笔记(八)--方法引入的补充

    在Java8学习笔记(三)--方法引入中,简要总结了方法引入时的使用规则,但不够完善.这里补充下几种情况: 从形参到实例方法的实参 示例 public class Example { static L ...

  8. JavaScript学习笔记——JS中的变量复制、参数传递和作用域链

    今天在看书的过程中,又发现了自己目前对Javascript存在的一个知识模糊点:JS的作用域链,所以就通过查资料看书对作用域链相关的内容进行了学习.今天学习笔记主要有这样几个关键字:变量.参数传递.执 ...

  9. js学习笔记1(变量、作用域、内存)

    写在前面,舍弃叽叽歪歪,只做学习笔记,认真踏实. 学习书籍:javascript高级程序设计3版. 章节4.1 基本类型和引用类型 1.基本类型在内存中占据固定大小的空间,所以保存在栈内存中. 2.从 ...

随机推荐

  1. Java定时器:Timer

    项目中往往会遇到需要定时的任务,例如订单,当用户在某个规定时间内没有操作订单时,订单状态将会发生改变. 那么在这种情况下,我们会用到定时器. 举例: import java.util.Timer; / ...

  2. C语言 格式说明符

    整数 lL代表long %#0 和%#x 可打印出八进制和十六进制前缀 short int long long long 无符号 八进制 %ho %o %Lo %LLo 十进制 %hu %u %Lu ...

  3. J2SE知识点摘记(二十二)

    Map 1.4.1        概述 数学中的映射关系在Java中就是通过Map来实现的.它表示,里面存储的元素是一个对(pair),我们通过一个对象,可以在这个映射关系中找到另外一个和这个对象相关 ...

  4. 自定义UITextField(UITextField重写)

    // CustomField.h #import <UIKit/UIKit.h> @interface CustomField : UITextField @end // CustomFi ...

  5. golang win32编程的一个dll坑

    例子 package main import ( "github.com/lxn/win" "strconv" "syscall" ) fu ...

  6. keep健身计划

    下一个月计划 1keep二周计划 2百度第一期学完 3百度前端技术学院提升

  7. 跟我一起学extjs5(16--各种Grid列的自己定义渲染)

    跟我一起学extjs5(16--各种Grid列的自己定义渲染)         Grid各列已经可以展示出来了.列的类型包含字符型,整型,浮点型,货币型,百分比型,日期型和布尔型,我自己定义了各种类型 ...

  8. Qt程序设计——txt文本中获取字符串的问题

    QT对txt文本进行读写一般是采用QFile和QTextStream结合使用,在此不细说,主要说一下读取txt文本的注意事项.因为txt文本中有中文也有英文还有数字,要准确获得需要的字串可就要多一个心 ...

  9. Android Resource介绍和使用

    1. 相关文件夹介绍 文件 取值方式 string.xml getResource().getString(resourceId)或者getResource().getText(resourceId) ...

  10. Ubuntu - Dconf 注册表键值修改参考表

    gsettings reset org.gnome.desktop.wm.preferences theme默认gnomegsettings set org.gnome.desktop.interfa ...