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通过select列表选择框对表格数据进行过滤示例
May 07 Javascript
IE中getElementsByName()对有些元素无效的解决方案
Sep 28 Javascript
JQuery中使文本框获得焦点的方法实例分析
Feb 28 Javascript
JS获取当前使用的浏览器名字以及版本号实现方法
Aug 19 Javascript
微信小程序 Storage API实例详解
Oct 02 Javascript
AngularJS中$injector、$rootScope和$scope的概念和关联关系深入分析
Jan 19 Javascript
Javascript实现找不同色块的游戏
Jul 17 Javascript
详解Angular结合zTree异步加载节点数据
Jan 20 Javascript
微信小程序实现左右联动的实战记录
Jul 05 Javascript
详解javascript replace高级用法
Feb 17 Javascript
layui select 禁止点击的实现方法
Sep 05 Javascript
原生JS封装拖动验证滑块的实现代码示例
Jun 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
多重?l件?合查?(二)
2006/10/09 PHP
hadoop常见错误以及处理方法详解
2013/06/19 PHP
php Xdebug的安装与使用详解
2013/06/20 PHP
浅析php中三个等号(===)和两个等号(==)的区别
2013/08/06 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
告诉大家什么是JSON
2008/06/10 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
JQuery获取表格数据示例代码
2014/05/26 Javascript
jquery实现两边飘浮可关闭的对联广告
2015/11/27 Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
2015/12/31 Javascript
浅谈js中字符和数组一些基本算法题
2016/08/15 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
jQuery 全选 全不选 事件绑定的实现代码
2017/01/23 Javascript
BootStrap Datepicker 插件修改为默认中文的实现方法
2017/02/10 Javascript
利用prop-types第三方库对组件的props中的变量进行类型检测
2017/05/02 Javascript
JavaScript实现多叉树的递归遍历和非递归遍历算法操作示例
2018/02/08 Javascript
微信小程序五子棋游戏AI实现方法【附demo源码下载】
2019/02/20 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
浅谈TypeScript 用 Webpack/ts-node 运行的配置记录
2019/10/11 Javascript
vue 组件开发原理与实现方法详解
2019/11/29 Javascript
python发腾讯微博代码分享
2014/01/10 Python
Python守护线程用法实例
2017/06/23 Python
python实现日常记账本小程序
2018/03/10 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
Python制作简易版小工具之计算天数的实现思路
2020/02/13 Python
python/golang 删除链表中的元素
2020/09/14 Python
python requests库的使用
2021/01/06 Python
CSS3实现的文本3D效果附图
2014/09/03 HTML / CSS
英国奢侈品网站:MatchesFashion
2016/12/16 全球购物
英国皇室御用百货:福南梅森(Fortnum & Mason)
2017/12/03 全球购物
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
美国家居装饰店:Pier 1
2019/09/04 全球购物
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
党支部书记岗位职责
2015/02/15 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS