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 相关文章推荐
ie下动态加态js文件的方法
Sep 13 Javascript
利用div+jquery自定义滚动条样式的2种方法
Jul 18 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
Aug 05 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
Sep 22 Javascript
基于AngularJs + Bootstrap + AngularStrap相结合实现省市区联动代码
May 30 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
Jun 21 Javascript
json格式的javascript对象用法分析
Jul 04 Javascript
解析jQueryEasyUI的使用
Nov 22 Javascript
JS实现的DOM插入节点操作示例
Apr 04 Javascript
vue axios请求频繁时取消上一次请求的方法
Nov 10 Javascript
关于layui导航栏不展示下拉列表的解决方法
Sep 25 Javascript
js通过循环多张图片实现动画效果
Dec 19 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
php中获取主机名、协议及IP地址的方法
2014/11/18 PHP
深入浅析用PHP实现MVC
2016/03/02 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
2019/09/30 PHP
20款效果非常棒的 jQuery 插件小结分享
2011/11/18 Javascript
JavaScript中的数学运算介绍
2014/12/29 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
js实现两点之间画线的方法
2015/05/12 Javascript
利用jquery获取select下拉框的值
2016/11/23 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
2017/11/17 Javascript
JS实现的简单分页功能示例
2018/08/23 Javascript
react 兄弟组件如何调用对方的方法示例
2018/10/23 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
[02:15]你好,这就是DOTA!
2015/08/05 DOTA
[26:52]LGD vs EG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
Python中map,reduce,filter和sorted函数的使用方法
2015/08/17 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
Python基于plotly模块实现的画图操作示例
2019/01/23 Python
基于MATLAB和Python实现MFCC特征参数提取
2019/08/13 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
基于pandas中expand的作用详解
2019/12/17 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
使用Python+selenium实现第一个自动化测试脚本
2020/03/17 Python
Vs Code中8个好用的python 扩展插件
2020/10/12 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
python 实现音频叠加的示例
2020/10/29 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
凯特王妃父母建立的派对用品网站:Party Pieces
2017/05/28 全球购物
美国存储和组织商店:The Container Store
2017/08/16 全球购物
德国最大的婴儿用品网上商店:Kidsroom.de(支持中文)
2020/09/02 全球购物
优秀管理者事迹材料
2014/05/22 职场文书
学雷锋标语
2014/06/25 职场文书
2014年教务工作总结
2014/12/03 职场文书
详细分析PHP7与PHP5区别
2021/06/26 PHP