03、函数
来源:互联网 发布:奶茶店销售额大数据 编辑:程序博客网 时间:2024/05/17 15:22
01、函数分类
匿名函数
function(){}
可以把函数赋值给变量、事件。避免函数名污染。若先声明个带名称的函数,再赋值给变量或事件,就造成了函数名的滥用。
//变量匿名函数,左侧可以为变量、事件等var anonymousNormal = function (p1, p2) { alert(p1+p2);}anonymousNormal(3,6);//输出9
有名函数
function a(){console.log( '心艾老师今天28' );
}
Js中同名函数的覆盖:
在Js中函数是没有重载,定义相同函数名、不同参数签名的函数,后面的函数会覆盖前面的函数。调用时,只会调用后面的函数。
var n1 = 1;
function add(value1) {
return n1 + 1;
}
alert(add(n1));//调用的是下面的函数,输出:3
function add(value1, value2) {
return value1 + 2;
}
alert(add(n1));//输出:3
无名函数
即在函数声明时,在后面紧跟参数。Js语法解析此函数时,里面代码立即执行。
(function (p1) { alert(p1);})(1);
适用场景:只需执行一次的。如浏览器加载完,只需要执行一次且后面不执行的功能。
03、函数执行
主动执行 函数名();被动执行 对象.事件 = 函数名(或者匿名函数); 特别注意:函数名后不能加(),加括号代表自执行,而不是由事件触发后执行
04、函数定义
//定义函数名为a的函数,此时其不可以直接单独加括号自执行;
function a(){
alert(1);
};
alert( 2 );
})();
+function(){
alert( 2 );
}();
-function(){
alert( 2 );
}();
!function(){
alert( 2 );
}();
~function(){
alert( 2 );
}();
05、函数表达式
函数表达式可以加括号自执行;
var b = function(){alert( 2 );
};
//加括号自执行
var b = function(){
alert( 2 );
}();
06、函数的返回值:
1)、当函数没有传递返回值的时候,默认返回值为undefined。
2)、函数 return 以后,后面不管什么代码都不执行了,但要特别注意函数执行后返回的值时函数还是一个字,
<!doctype html><html lang="en"><head><meta charset="UTF-8"><meta name="Author" content=""><meta name="Keywords" content=""><meta name="Description" content=""><title>Document</title></head><body><script>/*function a(){alert(1);return function(){alert(2);} }a();//此时只会弹出1,并不会弹出2,函数 return 以后,后面不管什么代码都不执行了,//但是此时返回值为一个函数,a()();//此时会弹出1 弹出2 ,因为函数的返回值为一个函数,再给函数加上一个括号被返回的函数将会执行*//*function a(){alert(1);return function(){alert(2);return function(){alert(3);}} }a()()();//依次类推,此时会弹出1 弹出2 弹出3*/document.onclick = a(); //函数加了括号则被执行了 //因此此时等效于document.onclick= function(){ alert( this );}function a(){alert( 1 );var b = function(){ alert( this );}return b;};</script></body></html>
08、arguments对象
arguments 类似于C#的params,操作可变参数:传入函数的参数数量大于定义时的参数数量。
function showNames(name) { alert(name);//张三 for (var i = 0; i < arguments.length; i++) { alert(arguments[i]);//张三、李四、王五 }}showNames('张三','李四','王五');
- 03、函数
- swift-函数03-函数默认参数
- №03 函数
- java函数--03
- PHP基础----03函数
- python内置函数03
- 2016-11-03 函数
- 03-makefile函数
- 03JavaScript函数
- scala编程03--函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- 函数
- Eclipse 的server窗口不能添加tomcat6.0/7.0/8.0等版本的解决方法
- 深入理解JDK动态代理
- 【算法系列】分治法
- 安卓开发的问题
- python
- 03、函数
- 解决for循环闭包取值问题
- 模板引擎 Smarty
- js获取高度遇到的问题
- 情感识别概况
- Mysql存储过程示例
- 酒店管理系统_01_Servlet版本-项目搭建(引入Bootstrap)
- opencv学习(5)——腐蚀与膨胀
- MyBatis使用动态SQL语句