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 相关文章推荐
js 屏蔽鼠标右键脚本附破解方法
Dec 03 Javascript
让新消息在网页标题闪烁提示的jQuery代码
Nov 04 Javascript
解析JavaScript中点号“.”的多义性
Dec 02 Javascript
JavaScript中length属性的使用方法
Jun 05 Javascript
简单的jQuery banner图片轮播实例代码
Mar 04 Javascript
非常棒的jQuery图片轮播效果
Apr 17 Javascript
Javascript中Promise的四种常用方法总结
Jul 14 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
Aug 24 Javascript
vue如何使用 Slot 分发内容实例详解
Sep 05 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
Sep 03 Javascript
如何用JS模拟实现数组的map方法
Jul 30 Javascript
nuxt 每个页面head标签内容设置方式
Nov 05 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中利用XML技术构造远程服务(上)
2006/10/09 PHP
自动生成文章摘要的代码[PHP 版本]
2007/03/20 PHP
PHP分页效率终结版(推荐)
2013/07/01 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
PHP设计模式(三)建造者模式Builder实例详解【创建型】
2020/05/02 PHP
JavaScript Accessor实现说明
2010/12/06 Javascript
jquery中ajax调用json数据的使用说明
2011/03/17 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
Vue-router 中hash模式和history模式的区别
2018/07/24 Javascript
vue-swiper的使用教程
2018/08/30 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
Vue安装浏览器开发工具的步骤详解
2019/05/12 Javascript
jquery html添加元素/删除元素操作实例详解
2020/05/20 jQuery
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
[17:00]DOTA2 HEROS教学视频教你分分钟做大人-帕克
2014/06/10 DOTA
Python使用代理抓取网站图片(多线程)
2014/03/14 Python
对Python+opencv将图片生成视频的实例详解
2019/01/08 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
python实现简单井字棋小游戏
2020/03/05 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
对Keras中predict()方法和predict_classes()方法的区别说明
2020/06/09 Python
英文版银行求职信
2013/10/09 职场文书
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
酒店保安领班职务说明书
2014/03/04 职场文书
学校爱国卫生月活动总结
2014/06/25 职场文书
青春飞扬演讲稿
2014/09/11 职场文书
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers