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 相关文章推荐
表单提交时自动复制内容到剪贴板的js代码
Mar 16 Javascript
JQuery 学习技巧总结
May 21 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
Nov 28 Javascript
node.js中的fs.writeFileSync方法使用说明
Dec 14 Javascript
简单谈谈javascript Date类型
Sep 06 Javascript
jQuery模拟select实现下拉菜单功能
Jun 20 Javascript
jQuery中select与datalist制作下拉菜单时的区别浅析
Dec 30 Javascript
详解webpack + vue + node 打造单页面(入门篇)
Sep 23 Javascript
javascript实现QQ空间相册展示源码
Dec 12 Javascript
详解angular部署到iis出现404解决方案
Aug 14 Javascript
vue中使用vue-cli接入融云实现即时通信
Apr 19 Javascript
vue如何使用rem适配
Feb 06 Vue.js
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 程序授权验证开发思路
2009/07/09 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
php类中的各种拦截器用法分析
2014/11/03 PHP
php获取错误信息的方法
2015/07/17 PHP
PHP命名空间(namespace)原理与用法详解
2019/12/11 PHP
JSQL SQLProxy 的 php 版本代码
2010/05/05 Javascript
一次失败的jQuery优化尝试小结
2011/02/06 Javascript
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
2016/02/23 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
2018/11/05 Javascript
Vue中使用create-keyframe-animation与动画钩子完成复杂动画
2019/04/09 Javascript
javascript实现拼图游戏
2021/01/29 Javascript
python实现apahce网站日志分析示例
2014/04/02 Python
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
举例讲解Python编程中对线程锁的使用
2016/07/12 Python
Windows环境下python环境安装使用图文教程
2018/03/13 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
django连接oracle时setting 配置方法
2019/08/29 Python
你还在@微信官方?聊聊Python生成你想要的微信头像
2019/09/25 Python
Python threading.local代码实例及原理解析
2020/03/16 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
纯css3实现宠物小鸡实例代码
2018/10/08 HTML / CSS
英国一家集合了众多有才华设计师品牌的奢侈店:Wolf & Badger
2018/04/18 全球购物
如何利用XMLHTTP检测URL及探测服务器信息
2013/11/10 面试题
医学生实习自我鉴定
2013/09/27 职场文书
实习生岗位职责
2014/04/12 职场文书
新员工考核评语
2014/12/31 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
功夫熊猫观后感
2015/06/10 职场文书
CSS3实现的文字弹出特效
2021/04/16 HTML / CSS
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python