介绍
本文是在学习JS所做的学习笔记,所有笔记内容请看:JS学习笔记
函数对象
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
函数
-函数也是一个对象
-函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码)
- 使用typeof 检查一个函数对象时,会返回funciotn
// 创建一个函数对象
var fun=new Function();
console.log(fun) // 输出funciotn anonymous()
可以将要封装的代码以字符串的形式传递给构造函数
字符串为一段字符串代码
该方式为构造函数创建对象
var fun = new Function("console.log('函数')")
封装到函数中的代码不会立即执行
函数中的代码会在函数调用的时候立即执行
调用函数 语法:函数对象()
当调用函数时,函数中封装的代码会按照顺序执行
fun()// 输出‘函数’
函数对象具有所有普通对象的功能
fun.hello = 'hello';
console.log(fun.hello) // 输出hello
一般不使用构造函数创建函数
/*
使用函数声明创建一个函数
语法:
function 函数名([形参1,形参2,....形参N]){
语句。。。
}
*/
function fun2(){
}
console.log(fun2)
使用函数表达式来创建一个函数
实际就是创建一个匿名函数,然后将函数赋值给一个变量
var 函数名 = function([形参1,形参2,...形参N]){
}
// 如下为匿名函数
var fun3 = function(){
console.log("匿名函数");
};// 最好写上分号,因为为赋值语句
</script>
</head>
<body>
</body>
</html>
函数参数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
函数参数
可以在函数()中指定一个或多个形参(形式参数),多个形参
之间使用逗号隔开,声明了形参相当于在函数内部声明了对应的变量
但是并不赋值
function sum(a,b){
cossole.log(a+b);
}
在调用函数时,可以在()中指定实际参数,
实参会赋值给函数中对应的形参
调用函数时解析器不会检查实参的类型,
要注意,是否有可能会接受到非法的参数,如果有可能需要对参数
进行类型检查。
函数的实参可以是任意数据类型
调用函数,解析器也不会检查实参的数量,多余的实参不会被赋值
如果实参的数量少于形参的数量,则没有对应实参的形参将是undefined
sum(123,"ad");
sum(123,456,"hel",true)
</script>
</head>
<body>
</body>
</html>
函数返回值
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
创建一个函数,计算三个数的和
使用return 设置函数返回值,作为函数的执行结果
语法:
return 值
在函数中,return后的语句都不会执行了
如果return后不跟值,会返回undefined
return后可以跟任意类型的值
function sum(a,b,c){
return a+b+c;
}
var res=sum(1,3,4);
</script>
</head>
<body>
</body>
</html>
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
创建一个函数,可以在控制台输出个人信息
输入的参数 name 、age、gender adress
参数过多时,可以使用对象将 参数进行封装。。
函数实参可以是一个对象,也可以是一个函数
function sayhello(){
console.log('helo')
}
// 函数参数为一个函数
function fun(a){
a()
}
fun(sayhello());// 输出heLlo
// 使用匿名函数,函数中传入匿名函数作为实参
fun(funciton(){ alert('a')})//弹窗提示a
function mianji(r){
return 3.14*r*r;
}
mianjin() // 调用函数
mianjin // 函数对象
fun(mianjin)
</script>
</head>
<body>
</body>
</html>
return 介绍
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
使用return 可以结束整个函数
return 可以返回一个函数
function fun3(){
// 函数内部声明一个函数
function fun4(){
alert('fun4')
}
return fun4;
}
// 将函数对象作为返回值,赋值给了a
a=fun3()// a为fun4函数对象
a() // 调用fun4()
</script>
</head>
<body>
</body>
</html>