JavaScript中的函数(二)


Posted in Javascript onDecember 23, 2015

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

JavaScript 函数语法

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

function functionname()
{
这里是要执行的代码
}

当调用该函数时,会执行函数内的代码。

可以在某事件发生时直接调用函数(比如当用户点击按钮时),并且可由 JavaScript 在任何位置进行调用。

提示:JavaScript 对大小写敏感。关键词 function 必须是小写的,并且必须以与函数名称相同的大小写来调用函数。

1. 函数的作用域

作用域是指变量的存在的范围。javascript中有两种作用域,一种是全局作用域,变量在整个程序中一直存在,另一种是函数作用域,变量只存在于函数体内部。在函数体外部声明的变量就是全局变量,它也可以在函数体内部读取。

var v = 1;
function f(){
   console.log(v);
}
f();

上述这就是全局变量,函数体内部也可以使用。

function f(){
  var v = 1;
}

而这个就是局部变量,函数体外部无法读取。

2. 闭包

闭包就是定义在函数体内部的函数。

function f() {
var c = function (){}; 
}

上诉代码中c是定义在函数体f中的,c就是闭包。

闭包的特点就在于,在函数体外部可以读取函数体内部的变量。

function f() {
var v = 1;

var c = function (){


return v;

};

return c;
}
var o = f();
o();
// 1

上面的代码显示,原先在函数f外部,我们是没有办法读取内部变量v的。但是,借助闭包c,可以读到这个变量。

闭包不仅可以读取函数内部变量,还可以使得内部变量记住上一次调用时的运算结果。

function f(b) {
return function () { 


return b++;

}
}
var b= f(5);
b() // 5
b() // 6
b() // 7

函数内部的b变量,每一次调用都是在上一次调用时的值的基础上进行计算的。

以上所述是小编给大家介绍的JavaScript中的函数(二) 的全部叙述,希望大家喜欢。

Javascript 相关文章推荐
jQuery的三种$()
Dec 30 Javascript
jquery和css3实现的炫酷时尚的菜单导航
Sep 01 Javascript
javascript比较两个日期相差天数的方法
Jul 23 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
Nov 02 Javascript
javascript 中的console.log和弹出窗口alert
Aug 30 Javascript
vue日期组件 支持vue1.0和2.0
Jan 09 Javascript
jQuery验证表单格式的使用方法
Jan 10 Javascript
js上下视差滚动简单实现代码
Mar 07 Javascript
js实现音乐播放控制条
Sep 09 Javascript
微信小程序icon组件使用详解
Jan 31 Javascript
js replace 全局替换的操作方法
Jun 12 Javascript
JS自定义右键菜单实现代码解析
Jul 16 Javascript
分享JavaScript与Java中MD5使用两个例子
Dec 23 #Javascript
js实现正则匹配中文标点符号的方法
Dec 23 #Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
Dec 23 #Javascript
node.js入门实例helloworld详解
Dec 23 #Javascript
基于JavaScript代码实现pc与手机之间的跳转
Dec 23 #Javascript
AngularJS 日期格式化详解
Dec 23 #Javascript
详解JavaScript时间格式化
Dec 23 #Javascript
You might like
基于PHP实现通过照片获取ip地址
2016/04/26 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
Laravel框架路由管理简单示例
2019/05/07 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
javascript实时显示北京时间的方法
2015/03/12 Javascript
JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
2015/12/13 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
vue 巧用过渡效果(小结)
2018/09/22 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
实例分析JS中的相等性判断===、 ==和Object.is()
2019/11/17 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
python实现矩阵乘法的方法
2015/06/28 Python
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
python爬虫爬取淘宝商品信息(selenum+phontomjs)
2018/02/24 Python
Django Web开发中django-debug-toolbar的配置以及使用
2018/05/06 Python
Python单元测试实例详解
2018/05/25 Python
Python编程深度学习绘图库之matplotlib
2018/12/28 Python
django中ORM模型常用的字段的使用方法
2019/03/05 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
在pandas中遍历DataFrame行的实现方法
2019/10/23 Python
Python笔记之代理模式
2019/11/20 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
迷你西餐厅创业计划书范文
2013/12/31 职场文书
幼儿园教师工作感言
2014/02/15 职场文书
运动会广播稿150字
2014/02/19 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
关于国庆节的演讲稿
2014/09/05 职场文书
pytorch model.cuda()花费时间很长的解决
2021/06/01 Python
CSS使用伪类控制边框长度的方法
2022/01/18 HTML / CSS
Python利用capstone实现反汇编
2022/04/06 Python