功能代码块的封装,减少代码的冗余
function 函数名(形参1,形参2…){执行体}
var 函数名 = new Function(“形参1”,“形参2”…,“函数执行体”);
注意:此声明表明在js中函数是作为对象存在的
var 变量名 = function(形参名1 ,形参名2…){函数执行体}
js中的函数在调用时,形参可以不赋值,不会报错。
js中的函数在调用时,形参赋值可以不全部赋值,不会报错,但是实参会依次进行赋值。
在js中如果函数有返回值则直接返回,没有返回值则返回undefined
注意:js的代码声明区域和执行区域是一起的,都是在js代码的代码域中。
DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8">
<meta name = "viewport" content = "width = device - width, initial - scale = 1.0">
<meta http-equiv = "X-UA-Compatible" content = "ie-edge">
<title>JavaScript之函数学习title>
<script>
//1、声明函数
//方式一:
function test1( a1, a2){
alert("函数声明一");
}
//方式二:
var test2 = new Function("a1","a1","alert('函数声明二')");
//方式三:
var test3 = function(a1,a2){
alert("我是函数声明三");
}
//调用声明的函数
test1="abc";
alert(test1);
test1(1,2);
test2(1,2);
alert(test2);
//2、函数的参数
function testParam(a1,a2,a3){
alert(a1);
alert("函数的形参学习");
}
testParam(1,2);
//3、函数的返回值
var testReturn = function(){
alert("函数的返回值学习");
return "js";
}
alert(testReturn());
script>
head>
<body>
body>
html>
在js中函数的执行符值()
没有小括号则函数名其实就是一个变量
加上小括号则函数会被执行
在js中函数是可以作为实参进行传递的
function testobj(a){
alert(a());
}
var testParam = function(){
alert("我是函数参数");
}
testobj(testParam);
DOCTYPE html>
<html lang = "en">
<head>
<meta charset = "UTF-8">
<meta name = "viewport" content = "width = device - width, initial - scale = 1.0">
<meta http-equiv = "X-UA-Compatible" content = "ie-edge">
<title>JavaScript之函数学习二title>
<script>
//1、函数的执行符
var test1 = function(){
alert("函数的执行符学习");
return "js";
}
alert(test1());
//2、函数作为实参进行传递
function testobj(a){
alert(a());
}
var testParam = function(){
alert("我是函数参数");
}
testobj(testParam);
//3、开发中经常用的传递方式
function testObj2(fn){
//testObj2函数在被调用的时候,实参必须是一个函数对象
fn();
}
testObj2(function(){
alert("开发");
})
script>
head>
<body>
body>
html>