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 相关文章推荐
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
Jan 12 Javascript
JS简单实现元素复制示例附图
Nov 19 Javascript
jquery仿搜索自动联想功能代码
May 23 Javascript
Jquery焦点与失去焦点示例应用
Jun 10 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
js密码强度实时检测代码
Mar 02 Javascript
弹出遮罩层后禁止滚动效果【实现代码】
Apr 29 Javascript
JavaScript实现打开链接页面的方式汇总
Jun 02 Javascript
vue-router:嵌套路由的使用方法
Feb 21 Javascript
vue分类筛选filter方法简单实例
Mar 30 Javascript
express 项目分层实践详解
Dec 10 Javascript
vue响应式更新机制及不使用框架实现简单的数据双向绑定问题
Jun 27 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
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
PHPMailer安装方法及简单实例
2008/11/25 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
Thinkphp框架开发移动端接口(1)
2016/08/18 PHP
php+js实现的拖动滑块验证码验证表单操作示例【附源码下载】
2020/05/27 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
javaScript如何生成xmlhttp
2013/12/16 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
Bootstrap的基本应用要点浅析
2016/12/19 Javascript
基于JS实现二维码图片固定在右下角某处并跟随滚动条滚动
2017/02/08 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
2017/03/08 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
2017/10/17 Javascript
实例解析Vue.js下载方式及基本概念
2018/05/11 Javascript
JS调用安卓手机摄像头扫描二维码
2018/10/16 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
vue实现虚拟列表功能的代码
2020/07/28 Javascript
在webstorm中配置less的方法详解
2020/09/25 Javascript
python paramiko实现ssh远程访问的方法
2013/12/03 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
flask中的wtforms使用方法
2018/07/21 Python
python 获取毫秒数,计算调用时长的方法
2019/02/20 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
Python tkinter三种布局实例详解
2020/01/06 Python
全球性的在线购物网站:Zapals
2017/03/22 全球购物
美国在线眼镜店:GlassesShop
2018/11/15 全球购物
电大自我鉴定范文
2013/10/01 职场文书
给女儿的表扬信
2014/01/18 职场文书
供应链金融服务方案
2014/05/25 职场文书
经营理念口号
2014/06/21 职场文书
新年祝酒词大全
2015/08/11 职场文书
感恩教师主题班会
2015/08/12 职场文书
《飘》英文读后感五篇
2019/10/11 职场文书
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers