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 相关文章推荐
jQuery示例收集
Nov 05 Javascript
解决IE6的PNG透明JS插件使用介绍
Apr 17 Javascript
JS取数字小数点后两位或n位的简单方法
Oct 24 Javascript
AngularJS递归指令实现Tree View效果示例
Nov 07 Javascript
微信小程序 页面跳转如何实现传值
Apr 05 Javascript
JavaScrpt判断一个数是否是质数的实例代码
Jun 11 Javascript
Vue Element使用icon图标教程详解(第三方)
Feb 07 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
Aug 30 Javascript
使用RN Animated做一个“添加购物车”动画的方法
Sep 12 Javascript
Angular脚手架开发的实现步骤
Apr 09 Javascript
微信小程序3D轮播实现代码
Sep 19 Javascript
js 解析 JSON 数据简单示例
Apr 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
融入意大利的咖啡文化
2021/03/03 咖啡文化
初探PHP5
2006/10/09 PHP
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
PHP zip扩展Linux下安装过程分享
2014/05/05 PHP
JavaScript在IE中“意外地调用了方法或属性访问”
2008/11/19 Javascript
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
2014/08/30 Javascript
如何用JavaScript定义一个类
2014/09/12 Javascript
swtich/if...else的替代语句
2015/08/16 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
json定义及jquery操作json的方法
2016/10/03 Javascript
详解vue-cli之webpack3构建全面提速优化
2017/12/25 Javascript
PWA介绍及快速上手搭建一个PWA应用的方法
2019/01/27 Javascript
Node.js如何对SQLite的async/await封装详解
2019/02/14 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
layui树形菜单动态遍历的例子
2019/09/23 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
Vue单文件组件开发实现过程详解
2020/07/30 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
python实现linux下使用xcopy的方法
2015/06/28 Python
Python实现大文件排序的方法
2015/07/10 Python
对TensorFlow中的variables_to_restore函数详解
2018/07/30 Python
python实现控制台打印的方法
2019/01/12 Python
python  文件的基本操作 菜中菜功能的实例代码
2019/07/17 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
如何利用Python matplotlib绘制雷达图
2020/12/21 Python
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
Keds官方网站:购买帆布运动鞋和经典皮鞋
2016/11/12 全球购物
医学专业本科毕业生自我鉴定
2013/12/28 职场文书
党的群众路线教育实践活动个人整改措施材料
2014/11/04 职场文书
商铺租房协议书范本
2014/12/04 职场文书
哈姆雷特读书笔记
2015/06/29 职场文书
保护地球的宣传语
2015/07/13 职场文书