javaScript中的函数详解
直接po图和代码
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>javaScript-函数详解</title>
<script type="text/javascript">
/*
函数又叫做方法
函数的声明以及使用
函数关键字 function
函数的声明、使用
匿名函数声明、使用
自执行函数声明、使用
*/
/*
函数的声明以及匿名函数、自执行函数
基本函数怎么声明
关键字 function
示例
function 函数名(){语句代码1;语句代码2; ...}
*/
//js中的基本函数(常规函数),在执行js之前会被提前声明
//在函数声明的前面调用函数是完全OK的
hello();
//函数声明
function hello(){
//代码区域
console.log("hello,我老家在江西省赣州市于都县");
}
//调用函数
hello();
/*
函数里面的参数和返回值
*/
//调用函数,传的参数为实参(即实参代表实际的值)
hi("韦小宝", "江西省于都县");
//函数声明
function hi(name, hometown){//函数声明时带的参数列表被称为形参(形参即形式参数,说白了就是占个位置而已,没有实际的值)
//形参个数和类型根据自己的需求去定义
console.log("我叫" + name + ",我老家在" + hometown);
}
//调用函数,传的参数为实参(即实参代表实际的值)
hi("令狐冲", "江西省赣州市于都县");
//函数声明时没有形参
function showInfo(){
//arguments表示参数列表
console.log(arguments);
console.log("传了" + arguments.length + "个参数");
for (var index = 0; index < arguments.length; index++) {
console.log("参数" + index + "的值=" + arguments[index]);
}
console.log("=========================");
}
//调用函数时,却传了参数(实参)
showInfo("于都县");
showInfo("赣州市", "于都县");
showInfo("江西省", "赣州市", "于都县");
/*
函数里面的返回值
使用return关键字
return 值
*/
function show(){
var message = "I Love China";
return message; //返回值(返回值的数据类型不限,可以是数字,字符串,对象等等)
}
console.log(show());//结果为I Love China
var returnResult = show();
console.log(returnResult); //结果为I Love China
//
function show2(){
var message = null;
return message; //返回值
}
console.log(show2()); //结果为null
//
function show3(){
var message;
return message; //返回值
}
console.log(show3());//结果为undefined
//
function show4(){
var message = {};
return message; //返回值
}
console.log(show4());//结果为对象
/*
匿名函数:不带名称的函数
*/
//调用匿名函数(注意:在匿名函数声明的前面调用匿名函数会报错)
// fn1(); //报错 fn1 is not a function
console.log("fn1 = " + fn1); //结果为fn1 = undefined
//js里面,变量也会被提前声明
var fn1 = function (){//匿名函数
console.log("我是一个匿名函数");
}
//调用匿名函数(注意:在匿名函数声明的后面调用匿名函数不会报错)
fn1(); //不会报错
/*
匿名函数也有带参和不带参以及返回值
*/
//匿名函数带参
var fn2 = function (p1, p2){
console.log(p1, p2);
}
fn2("好好学习", "天天向上");
console.log("===================");
//匿名函数不带参
var fn3 = function (){
for (var index = 0; index < arguments.length; index++) {
console.log(arguments[index]);
}
}
fn3("666", "hello", 888);
console.log("===================");
//匿名函数有返回值
var fn4 = function (){
return "于都县";
}
console.log(fn4());
/*
js里面的自执行函数:
自己执行/自动执行
其实自执行函数也是匿名函数
*/
//自执行函数,不带参
(function() {
console.log("好好工作,努力赚钱");
})();
/*
自执行函数的参数和返回值
*/
//自执行函数,带参
(function(name, age) {
console.log(name + age + "岁了,要" +"好好工作,努力赚钱,");
})("令狐冲", 26);
//自执行函数,不带形参
(function() {
//arguments表示参数列表
for (var index = 0; index < arguments.length; index++) {
console.log("*****" + arguments[index]);
}
})("建宁公主", "双儿", "阿珂", "曾柔", "方怡", "小郡主沐剑屏", "苏荃");//传实参
//自执行函数有返回值
var result = (function() {
return "红红火火恍恍惚惚";
})();
console.log(result);
//自执行函数的另一种写法
//自执行函数,不带参
(function() {
console.log("飞雪连天射白鹿");
}());
//自执行函数,带参
(function(name, age) {
console.log(name + age + "哈哈");
}("鹿鼎记韦小宝", 18));
//自执行函数,不带形参
(function() {
//arguments表示参数列表
for (var index = 0; index < arguments.length; index++) {
console.log("*****" + arguments[index]);
}
}("段誉", "虚竹", "乔峰"));//传实参
//自执行函数有返回值
var mes = (function() {
return "呵呵呵";
}());
console.log(mes);
</script>
</head>
<body>
<h1>javaScript-函数详解</h1>
</body>
</html>