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的控制tabs打开的数量的代码
Oct 17 Javascript
原生js拖拽(第一课 未兼容)拖拽思路
Mar 29 Javascript
JavaScript加强之自定义callback示例
Sep 21 Javascript
简介JavaScript中strike()方法的使用
Jun 08 Javascript
js变形金刚文字特效代码分享
Aug 20 Javascript
php利用curl获取远程图片实现方法
Oct 26 Javascript
jQuery插件简单学习实例教程
Jul 01 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
Jun 16 Javascript
关于jquery form表单序列化的注意事项详解
Aug 01 jQuery
微信小程序外卖选购页实现切换分类与数量加减功能案例
Jan 15 Javascript
Vue源码探究之虚拟节点的实现
Apr 17 Javascript
微信小程序实现分页加载效果
Nov 19 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系列学习之日期函数使用介绍
2012/08/18 PHP
SAE实时日志接口SDK用法示例
2016/10/09 PHP
PHP生成图片缩略图类示例
2017/01/12 PHP
PHP调用接口API封装的例子
2019/10/11 PHP
javascript打印大全(打印页面设置/打印预览代码)
2013/03/29 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
微信小程序 wx:key详细介绍
2016/10/28 Javascript
js微信支付实现代码
2016/12/22 Javascript
javascript实现右下角广告框效果
2017/02/01 Javascript
JS中Map和ForEach的区别
2018/02/05 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
2018/07/23 Javascript
解决bootstrap模态框数据缓存的问题方法
2018/08/10 Javascript
Vue中对拿到的数据进行A-Z排序的实例
2018/09/25 Javascript
vue获取时间戳转换为日期格式代码实例
2019/04/17 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
vue使用echarts画组织结构图
2021/02/06 Vue.js
[01:00:13]完美世界DOTA2联赛 LBZS vs Forest 第一场 11.07
2020/11/09 DOTA
Python通过select实现异步IO的方法
2015/06/04 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
详解pyppeteer(python版puppeteer)基本使用
2019/06/12 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
python小白学习包管理器pip安装
2020/06/09 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
用python进行视频剪辑
2020/11/02 Python
使用CSS实现阅读进度条
2017/02/27 HTML / CSS
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
印度首个本地在线平台:nearbuy
2019/03/28 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
实习生自我鉴定范文
2013/12/05 职场文书
客服专员岗位职责范本
2015/04/07 职场文书
2016年五一劳动节专题校园广播稿
2015/12/17 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript
一文搞懂php的垃圾回收机制
2021/06/18 PHP