详解JavaScript自定义函数

所属分类: 网络编程 / JavaScript 阅读数: 863
收藏 0 赞 0 分享

一、定义方法:在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自定义函数的资料请关注脚本之家其它相关文章!

更多精彩内容其他人还在看

纯javascript判断查询日期是否为有效日期

很多网站都涉及到输入日期选项,如果客户日期输入错误,可能导入查询不到甚至查询到错误的信息,为了更好的满足用户需求,需要对日期进行校验,下面给大家介绍使用纯javascript如何判断查询日期是否为有效日期,需要的朋友可以参考下
收藏 0 赞 0 分享

jquery实现的蓝色二级导航条效果代码

这篇文章主要介绍了jquery实现的蓝色二级导航条效果代码,涉及jquery鼠标事件及页面样式的动态切换效果实现技巧,非常简单实用,需要的朋友可以参考下
收藏 0 赞 0 分享

ajax如何实现页面局部跳转与结果返回

AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新,本篇文章给大家介绍ajax如何实现页面局部跳转与结果返
收藏 0 赞 0 分享

jQuery实现的类似淘宝网站搜索框样式代码分享

这篇文章主要介绍了类似淘宝网站搜索框样式实现代码,推荐给大家,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

js实现的黑背景灰色二级导航菜单效果代码

这篇文章主要介绍了js实现的黑背景灰色二级导航菜单效果代码,涉及javascript操作页面元素动态切换的实现技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

jQuery仿360导航页图标拖动排序效果代码分享

这篇文章主要为大家详细介绍了360导航页图标拖动排序效果代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

javascript中SetInterval与setTimeout的定时器用法

Javascript的setTimeOut和setInterval函数应用非常广泛,它们都用来处理延时和定时任务,比如打开网页一段时间后弹出一个登录框,页面每隔一段时间发送异步请求获取最新数据等,本文文章通过代码示例给大家介绍javascript中SetInterval与setT
收藏 0 赞 0 分享

jquery带下拉菜单和焦点图代码分享

这篇文章主要介绍了jquery带下拉菜单和焦点图代码,推荐给大家,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

jQuery实现的背景动态变化导航菜单效果

这篇文章主要介绍了jQuery实现的背景动态变化导航菜单效果,涉及jquery页面元素背景动态变换的实现技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

jquery+CSS实现的水平布局多级网页菜单效果

这篇文章主要介绍了jquery+CSS实现的水平布局多级网页菜单效果,涉及jquery页面元素属性动态变换效果实现技巧,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多