1. Javascript 定时器

1.1 计时事件

  • 设定一个间隔,时间到了后准时执行代码,此为“计时事件”

1.2 作用

1、制作动画

2、异步操作

1.3 定时器的类型及语法

  • setInterval() 和 setTimeout() 是 Window 对象的两个方法
/*
定时器:
setTimeout 单次的定时器
clearTimeout 关闭单次的定时器 setInterval 多次的定时器
clearInterval 关闭多次的定时器
*/ function timeGoesBy(){
console.log("Time flies by.");
} var time1 = setTimeout(timeGoesBy, 5000);
var time2 = setInterval(timeGoesBy, 500); setTimeout(function(){
clearTimeout(time1);
console.log("time1 has no chance to carry it out."); clearInterval(time2);
console.log("time2 was executed 6 times.");
}, 3000);
  • 运行结果
⑥ Time flies by.
time1 has no chance to carry it out.
time2 was executed 6 times.

2. Javascript 函数

2.1 使用 function 语句定义函数

function abc(){
alert('abc');
}

2.2 在表达式中定义函数

/*
形式
var 函数名 = function(参数1, 参数2, ...){函数体};
*/ var add = function(a, b){
return a+b;
} // 调用函数
document.write(add(50, 20));

2.3 arguments

  • 在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们

  • 例如,在函数 sayHi() 中,第一个参数是 message,用 arguments[0] 也可以访问这个值

  • 即,第一个参数位于位置 0,第二个参数位于位置 1,依此类推

  • 举例

/* 1. 使用 function 关键字定义函数
此法优先级较高,不限调用地点
JS 中没有默认值参数 小发现:把 console.log() 写成 print() 会调出打印机
*/
function demo(a, b){
console.log('a =', a, '\tb =', b)
console.log(arguments);
for(i in arguments){
// console.log('i =', i, '\targuments[' + i + '] =', arguments[i]);
console.log('i = %s\targuments[%s] = %d', i, i, arguments[i]);
}
console.log("函数被调用了!");
}
// demo(1, 2);
// demo(); // 少传参数 -> undefined
demo(1, 2, 3); // 多传参数 -> 多余的参数会被忽略
};
  • 运行结果
a = 1 	b = 2
Arguments(3)
i = 0 arguments[0] = 1
i = 1 arguments[1] = 2
i = 2 arguments[2] = 3
函数被调用了!

2.4 关于变量和参数问题:

  • 函数外面定义的变量是全局变量,函数内可以直接使用

  • 在函数内部没有使用 var 定义的变量也是全局变量(限非严格模式)

  • 在函数内使用 var 关键字定义的变量是局部变量,即,出了函数会无效

  • 举例

/* 1.
全局变量:在函数外部声明的变量
局部变量:在函数内部声明的变量
*/
var g1 = 1;
function demo1(){
var l1 = 2;
console.log('g1 = %d, l1 = %d', g1, l1);
}
demo1();
console.log('g1 =', g1);
// console.log('l1 =', l1); // 会报错 // 2.1 小例子
var g2 = 5;
function demo2(){
console.log('g2 =', g2);
g2 = 10;
console.log('g2 =', g2);
}
console.log('g2 =', g2);
demo2();
console.log('g2 =', g2); // 2.2 小例子
var g3 = 5;
function demo3(){
console.log('g3 =', g3); // 一旦函数内部 var 了变量 n,那么函数中所有的 n 都变成了局部变量
g3 = 10;
console.log('g3 =', g3);
var g3 = 15;
console.log('g3 =', g3);
}
console.log('g3 =', g3);
demo3();
console.log('g3 =', g3); // 2.3 小例子
function demo2(){
l3 = 10; // 这里没使用 var,意为将 l3 视为全局变量(限非严格模式)
console.log('l3 =', l3);
}
demo2();
console.log('l3 =', l3); // 非严格模式下,函数内不用 var 声明的变量可以在函数外部使用
};
  • 运行结果
g1 = 1, l1 = 2
g1 = 1
g2 = 5
g2 = 5
g2 = 10
g2 = 10
g3 = 5
g3 = undefined
g3 = 10
g3 = 15
g3 = 5
l3 = 10
l3 = 10

[Web 前端] 024 js 的定时器及函数的更多相关文章

  1. Web前端-Vue.js必备框架(三)

    Web前端-Vue.js必备框架(三) vue是一款渐进式javascript框架,由evan you开发.vue成为前端开发的必备之一. vue的好处轻量级,渐进式框架,响应式更新机制. 开发环境, ...

  2. Web前端-Vue.js必备框架(五)

    Web前端-Vue.js必备框架(五) 页面组件,商品列表组件,详情组件,购物车清单组件,结算页组件,订单详情组件,订单列表组件. vue-router 路由 vuex 组件集中管理 webpack ...

  3. Web前端-Vue.js必备框架(四)

    Web前端-Vue.js必备框架(四) 计算属性: <div id="aaa"> {{ message.split('').reverse().join('') }} ...

  4. Web前端-Vue.js必备框架(二)

    Web前端-Vue.js必备框架(二) vue调式工具vue-devtools 过滤器:vue.js允许你自定义过滤器,可被用作一些常见的文本格式化. mustache插值和v-bind表达式. vu ...

  5. Web前端-Vue.js必备框架(一)

    Web前端-Vue.js必备框架(一) <!DOCTYPE html> <html lang="en"> <head> <meta cha ...

  6. Web前端Require.js

    前言 前段时间粗略的扫过一次require.js,当时没怎么在意,结果昨天看到index里面的代码就傻了,完全不知道从哪开始看啦,所以require与backbone的学习还要加紧才行. 由于前端所占 ...

  7. 【RSA】在 ASP.NET Core中结合web前端JsEncrypt.JS使用公钥加密,.NET Core使用私钥解密;

    有一个需求,前端web使用的是JsEncrypt把后端给的公钥对密码进行加密,然后后端对其进行解密: 使用的类库如下: 后端使用第三方开源类库Bouncy Castle进行RSA的加解密和生成PEM格 ...

  8. js中定时器调用函数时为什么会有引号

    之前在学习的时候并没有发现的细节,关于js中,定时器的问题 这里我们写两个延时器 setTimeout(func, 0); setTimeout("func()", 0);定时器中 ...

  9. web前端----JavaScript(JS)函数

    函数 函数定义 JavaScript中的函数和Python中的非常类似,只是定义方式有点区别. // 普通函数定义 function f1() { console.log("Hello wo ...

随机推荐

  1. git概述(一)

    初始化一个Git仓库,使用git init命令. 添加文件到Git仓库,分两步: 使用命令git add <file>,注意,可反复多次使用,添加多个文件: 使用命令git commit ...

  2. Python之模块和包补充

    包的补充 1.包A和包B下有同名模块也不会冲突,如A.a与B.a来自俩个命名空间 2.常见目录结构 1 import os 2 os.makedirs('glance/api') 3 os.maked ...

  3. 常用cmd命令总结

    1.常用操作 cls #清屏set #查看环境变量cd #切换工作目录 (换盘:直接输入 C: 或 D:)cd.. #返回上级目录exit #关闭cmd窗口 2.有关Python pip instal ...

  4. 【NOIP2016提高A组集训第1场10.29】配对游戏

    题目 流行的跳棋游戏是在一个有mn个方格的长方形棋盘上玩的.棋盘起初全部被动物或障碍物占满了.在一个方格中,'X'表示一个障碍物,一个'0'-'9'的个位数字表示一个不同种类的动物,相同的个位数字表示 ...

  5. OI多项式 简单学习笔记

    咕咕咕 先开个坑(其实是存模板来了) 一些特别简单的前置东西qwq 复数的计算 复数相加:向量相加,复数相乘.复数相乘:模长相乘,旋转量相加(就是复平面坐标轴逆时针旋转的角度) (当然也可以直接使用c ...

  6. adaptiveThreshold(自适应阈值)

    void adaptiveThreshold(InputArray src, OutputArray dst, double maxValue, int adaptiveMethod, int thr ...

  7. Sql Server2008中自定义函数调用存储过程解决方案

    1.开启sql server 2008远程连接 打开sql server配置管理器 配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server ...

  8. 两类特殊的Nim游戏:Nim-K游戏与反Nim游戏

    Nim-K游戏 描述 有\(n\)堆石子,每次可从\(k\)堆石子中拿走任意数量的石子. 两个人轮流拿,谁不能拿谁输. 先手必胜条件 把\(n\)堆石子的石子数用二进制表示,统计每一个二进制位上\(1 ...

  9. [HDU3072]:Intelligence System(塔尖+贪心)

    题目传送门 题目描述 “这一切都是命运石之门的选择.”试图研制时间机器的机关SERN截获了中二科学家伦太郎发往过去的一条短 信,并由此得知了伦太郎制作出了电话微波炉(仮).为了掌握时间机器的技术,SE ...

  10. Jcaptcha组件和kaptcha组件实现验证码