JavaScript函数的一些注意要点小结及js匿名函数


Posted in Javascript onNovember 10, 2015

下面给大家介绍javascript函数

函数的基本语法是:

function functionName(arg0,arg1,...,argN) {
 statements
}

下面是个示例:

function str(name,age){
 document.write("hello my name is " + name + ". and i am " + age + " years old.");
}
str(" oliver",23); //hello my name is oliver. and i am 23 years old.

另外,任何函数在任何时候都可以通过return 语句后跟要返回的值来实现返回值。如:

function sum(num1,num2){
 return num1 + num2;
 alert("hello"); //返回return 之后不会继续执行alert
}
var result = sum(321,32);
document.write(result); //353

因为执行完return 语句之后停止并立即退出,所以位于return 语句之后的任何代码都不会执行。

当然,一个函数可以包含多个return 语句。如:

function conp(a,b){
 if (a > b){
 return a;
 }else if (a == b){
 return "equal";
 }else{
 return b;
 }
}
var result = conp(4,4);
document.write(result); //equal
var result = conp(321,4);
document.write(result); //321

另外,return 语句也可以不带有任何返回值。这样,就可以立即停止函数执行并且返回undefined。如:

function conp(a,b){
 if (a > b){
 return;
 document.write("bad");
 }else{
 document.write(b);
 }
}
var a = conp(33,3);
document.write(a); //返回undefined 且不会出现"bad"

函数的参数

ECMAScript 函数的参数可以是任意多个,也可以是任何数据类型。它在函数体内可以通过arguments 对象来访问,如第一个参数是arguments[0]、第二个是arguments[1]等等。命名的参数只是提供了便利,但不是必须的。如:

function greeting(){
 document.write("hello " + arguments[0] + ". you look " + arguments[1] + ".");
}
greeting("oliver","good"); //hello oliver. you look good.

另外,可以通过访问arguments 对象的length 属性,获得有多少参数传递给了函数。如:

function countArguments(){
 document.write("there are " + arguments.length + " arguments here.");
}
countArguments(321,321,32,32); //there are 4 arguments here.

可以利用这一点与if 语句结合做判断。如:

function count(){
 if (arguments.length == 1){
 document.write("you just have 1 arguments.");
 }else{
 document.write("you have many arguments.");
 }
}
count(321,321,321) //you have many arguments.

另外,arguments[] 可以与命名参数一起使用。

函数的重载(没有重载)

如果定义了两个名字相同的参数,则改名字只属于后定义的函数。如:

function add(){
 document.write(arguments[0] + arguments[1]);
}
function add(){
 document.write(arguments[0] + 100);
}
add(321,2); //421 不会执行第一个函数(两个参数相加),只执行最后一个同名的函数(第一个参数加上100)

PS:JavaScript匿名函数

函数是JavaScript中最灵活的一种对象,这里只是讲解其匿名函数的用途。匿名函数:就是没有函数名的函数。

1.1 函数的定义,首先简单介绍一下函数的定义,大致可分为三种方式

第一种:这也是最常规的一种

function double(x){
 return 2 * x; 
}

第二种:这种方法使用了Function构造函数,把参数列表和函数体都作为字符串,很不方便,不建议使用。

var double = new Function('x', 'return 2 * x;');

第三种:

var double = function(x) { return 2* x; }

注意“=”右边的函数就是一个匿名函数,创造完毕函数后,又将该函数赋给了变量square。

1.2 匿名函数的创建

第一种方式:就是上面所讲的定义square函数,这也是最常用的方式之一。

第二种方式:

(function(x, y){
 alert(x + y); 
})(2, 3);

这里创建了一个匿名函数(在第一个括号内),第二个括号用于调用该匿名函数,并传入参数。

Javascript 相关文章推荐
JavaScript Sort 表格排序
Oct 31 Javascript
javascript中的对象创建 实例附注释
Feb 08 Javascript
JQuery 动态生成Table表格实例代码
Dec 02 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
Dec 04 Javascript
Angularjs实现分页和分页算法的示例代码
Dec 23 Javascript
基于bootstrap风格的弹框插件
Dec 28 Javascript
JavaScript实现同一个页面打开多张图片
Dec 29 Javascript
微信小程序 swiper制作tab切换实现附源码
Jan 21 Javascript
xmlplus组件设计系列之树(Tree)(9)
May 02 Javascript
基于js 本地存储(详解)
Aug 16 Javascript
详解vue-cli项目中的proxyTable跨域问题小结
Feb 09 Javascript
js获取本日、本周、本月的时间代码
Feb 01 Javascript
javascript实现五星评分功能
Nov 10 #Javascript
javascript实现密码验证
Nov 10 #Javascript
JavaScript编程的单例设计模讲解
Nov 10 #Javascript
js数组常见操作及数组与字符串相互转化实例详解
Nov 10 #Javascript
浅谈javascript中replace()方法
Nov 10 #Javascript
使用jQuery获取data-的自定义属性
Nov 10 #Javascript
javascript适合移动端的日期时间拾取器
Nov 10 #Javascript
You might like
星际实力自我测试
2020/03/04 星际争霸
多文件上载系统完整版
2006/10/09 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
javascript 多浏览器 事件大全
2010/03/23 Javascript
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
基于jquery的一个拖拽到指定区域内的效果
2011/09/21 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
ajax在兼容模式下失效的快速解决方法
2016/03/22 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
element-ui上传一张图片后隐藏上传按钮功能
2019/05/22 Javascript
新手快速入门JavaScript装饰者模式与AOP
2019/06/24 Javascript
JavaScript实现留言板案例
2020/03/17 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
Django中实现一个高性能计数器(Counter)实例
2014/07/09 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
Flask框架通过Flask_login实现用户登录功能示例
2018/07/17 Python
selenium+python截图不成功的解决方法
2019/01/30 Python
python多线程并发让两个LED同时亮的方法
2019/02/18 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
HTML5制作3D爱心动画教程 献给女友浪漫的礼物
2014/11/05 HTML / CSS
机械电子工程毕业生自荐信
2013/11/23 职场文书
环境科学专业个人求职的自我评价
2013/11/28 职场文书
药学专业大专生的自我评价
2013/12/12 职场文书
幼儿园大班教学反思
2014/02/10 职场文书
小学评语大全
2014/04/22 职场文书
道路运输企业安全生产责任书
2014/07/28 职场文书
工程安全生产协议书
2014/11/21 职场文书
初中毕业生感言
2015/07/31 职场文书
护士旷工检讨书
2015/08/15 职场文书