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中this关键字(翻译+自我理解)
Oct 20 Javascript
jquery实现的导航固定效果
Apr 28 Javascript
什么是JavaScript注入攻击?
Sep 14 Javascript
解决ztree搜索中多级菜单展示不全问题
Jul 05 Javascript
详解vue.js之绑定class和style的示例代码
Aug 24 Javascript
JS 实现分页打印功能
May 16 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
Aug 18 Javascript
socket io与vue-cli的结合使用的示例代码
Nov 01 Javascript
vant(ZanUi)结合async-validator实现表单验证的方法
Dec 06 Javascript
通过Kettle自定义jar包供javascript使用
Jan 29 Javascript
Vue Render函数创建DOM节点代码实例
Jul 08 Javascript
vue 清空input标签 中file的值操作
Jul 21 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
老机欣赏|中国60年代精品收音机
2021/03/02 无线电
PHP+JS无限级可伸缩菜单详解(简单易懂)
2007/01/02 PHP
php csv操作类代码
2009/12/14 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
人脸识别测颜值、测脸龄、测相似度微信接口
2016/04/07 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
thinkPHP+phpexcel实现excel报表输出功能示例
2017/06/06 PHP
PHP实现将几张照片拼接到一起的合成图片功能【便于整体打印输出】
2017/11/14 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
javascript 打印内容方法小结
2009/11/04 Javascript
js跨域问题之跨域iframe自适应大小实现代码
2010/07/17 Javascript
使用javascript实现页面定时跳转总结篇
2013/09/21 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
JavaScript解析JSON格式数据的方法示例
2017/01/24 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
解决vue中使用swiper插件问题及swiper在vue中的用法
2018/04/04 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
使用Webpack 搭建 Vue3 开发环境过程详解
2020/07/28 Javascript
微信小程序抽奖组件的使用步骤
2021/01/11 Javascript
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
Python模拟登陆实现代码
2017/06/14 Python
python画图——实现在图上标注上具体数值的方法
2019/07/08 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
Petmate品牌官方网站:宠物用品
2018/11/25 全球购物
Invicta手表官方商店:百年制表历史的瑞士腕表品牌
2019/09/26 全球购物
专升本个人自我评价
2013/12/22 职场文书
外贸英语专业求职信范文
2013/12/25 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
销售职业生涯规划范文
2014/03/14 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书
辞职信怎么写?
2019/05/21 职场文书
宫崎骏十大动画电影,宫崎骏好看的动画电影排名
2022/03/22 日漫