详解JavaScript自定义函数
一、定义方法:在Javascript中必须用function关键字
function funcName(arg1,arg2...) { statements; return "变量值"; //返回值可以根据函数的需要 }
函数名是函数自身的一个引用。此种方式创立的函数引用是独立存在的,无法删除。
1、调用函数:函数名(参数列表)。
传递的参数不必与函数定义的参数个数一致,并且可以设定函数参数的默认值。
function example(a,b){ var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为 var b = arguments[1] ? arguments[1] : 2;//设置参数b的默认值为2 return a+b; } alert(example()); //输出3
其他方法:设置默认参数方式
2、嵌套函数:在JS中,函数的定义中还可以再次定义新的函数
function say() { function add(x,y) { return (x+y); } alert(add(2,3)); } say(); //输出5
内嵌函数add()只能在嵌套它的函数(say())中调用,而不能再外部调用。
3、条件函数:
var b = false; if(b) { function ex1() { alert(1); } ex1(); } else { function ex2() { alert(0); } ex2(); }
输出0,将b的值改为TRUE,则输出1,不演示。条件函数的花括号不具有范围限制,即可以在花括号外访问函数。
二 、函数的特殊条用方式:网页中的所有方法可以看做全局对象window对象的方法
function add(x,y) { return x+y; } //1 alert(window.add(2,3)); //2 alert(window['add'](2,3));
以上结果均是5
三、函数表达式定义函数:匿名函数
1、定义方式:var fucName = function(arg1,arg2,...){statements;}
var add = function (x,y) { return x+y; } alert(add(2,3));//输出为5
其中,add是该函数的唯一引用,当add=null,该函数便不能再调用。
2、匿名自执行函数:
(function(x,y) { alert(x + y) ; })(2,3); //立即自动执行,结果为5
3、匿名函数的用途
2.1 用于一次调用后就丢弃的函数
2.2 向prototype属性附加函数以实现对象方法的定义
四、使用Function定义函数:
在JS中,Function为核心类的一种,而其他方式定义的函数也均作为对象对待,因为在JS中的OOP中,不存在类的概念,这是JS与Java、C#等语言的区别。
var add = new Function(“函数参数”,"函数体"); add为函数名,即函数的一个引用。
var add = new Function('x','y',"return x+y"); alert(add(2,3));
上述的结果为5.
五、闭包函数:当一个函数不位于它所处环境(变量的作用范围)被调用,仍可使用本地变量(脱离了变量的作用范围仍可使用该变量),这是闭包函数的显著特征。
5.1 作为值从函数返回的函数是闭包函数
function B() { var temp="abc"; function A() { alert("闭包函数处理本地变量temp = "+temp); } return A; } var a = B(); a();
运行结果:(本地变量是函数内声明的变量)
5.2 利用变量的作用范围形成闭包函数
var F; function B() { var temp="abc"; F=function () { alert("利用变量范围形成闭包函数处理本地变量temp = "+temp); } } B(); F();
运行结果
以上就是详解JavaScript自定义函数的详细内容,更多关于JavaScript自定义函数的资料请关注猪先飞其它相关文章!
相关文章
- eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
- 在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
使用PHP+JavaScript将HTML页面转换为图片的实例分享
这篇文章主要介绍了使用PHP+JavaScript将HTML元素转换为图片的实例分享,文后结果的截图只能体现出替换的字体,也不能说将静态页面转为图片可以加快加载,只是这种做法比较interesting XD需要的朋友可以参考下...2016-04-19Python astype(np.float)函数使用方法解析
这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08- 这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 在昨天的《Javascript权威指南》学习笔记之十:ECMAScript 5 增强的对象模型一文中,对于一段代码的调试出现了一个奇怪现象,现将源代码贴在下面: 复制代码 代码如下: <script type="text/javascript"> function Person(){}...2014-05-31
- 最近做一个小项目不可避免的需要前端脚本与后台进行交互。由于是在asp.net中实现,故问题演化成asp.net中jiavascript与后台c#如何进行交互。...2020-06-25
- 本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
- 复制代码 代码如下: //element:需要添加新样式的元素,value:新的样式 function addClass(element, value ){ if (!element.className){ element.className = value; }else { newClassName = element.className; newClas...2014-05-31
- 下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- 在javascritp中,不一定只有对象方法的上下文中才有this, 全局函数调用和其他的几种不同的上下文中也有this指代。 它可以是全局对象、当前对象或者任意对象,这完全取决于函数的调用方式。JavaScript 中函数的调用有以下...2015-03-15
- 这篇文章主要给大家介绍了关于C#创建自定义控件及添加自定义属性和事件使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用C#具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2020-06-25
- 首先,我想到的是另建一个结果数组,用来存储原始数组中不重复的数据。遍历原始数组依次跟结果数组中的元素进行比较,检测是否重复。于是乎,我写出了如下代码A: Array.prototype.clearRepetitionA = function(){ var resul...2015-11-08
- 有一道js面试题,题目是这样的:下列代码的执行结果是什么,为什么? 复制代码 代码如下: var i, j, k; for (i=0, j=0; i<10, j<6; i++, j++) { k = i+j; } document.write(k); 答案是显示10,这道题主要考察JavaScript的逗...2015-03-15
- 事件触发器从字面意思上可以很好的理解,就是用来触发事件的,但是有些没有用过的朋友可能就会迷惑了,事件不是通常都由用户在页面上的实际操作来触发的吗?这个观点不完全正确,因为有些事件必须由程序来实现,如自定义事件,jQue...2014-06-07
- 这篇文章主要介绍了Javascript类型转换的规则实例解析,涉及到javascript类型转换相关知识,对本文感兴趣的朋友一起学习吧...2016-02-27
- 1、ActiveX向Javascript传参 复制代码 代码如下: <script language="javascript" for="objectname" event="fun1(arg)"> fun2(arg); </script> objectname为ActiveX控件名,通过<object>标签里的id属性设定,如下; 复制...2014-06-07
- 通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。 HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。 HTML DOM 模型被构造为对象的树: 通过可编程的对象模型,Java...2015-10-23
- Window有navigator对象让我们得知浏览器的全部信息.我们可以利用一系列的API函数得知浏览器的信息.JavaScript代码如下:function message(){ txt = "<p>浏览器代码名: " + navigator.appCodeName + "</p>";txt+= "<p>...2015-11-24
- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08