自定义函数
1、自定义函数
函数:可以重复执行某个特定功能的代码段。
1、函数的基础结构
1) 直接使用function创建
function 函数的名称(形参){
函数体
}
function,关键词,区分大小写,必须是小写
函数名称:自定义,要有意义,可以使用小驼峰命名法
形参:其实就跟变量
函数体:重复执行的有特定功能代码块
<script>
function show1(){
console.log(123)
}
show1();
function show2(x=10,y=10){
console.log(x+y);
}
show2();
</script>
2) 使用Function构造函数构造一个函数 [ 基本上不会使用 ];
var 函数名称 = new Function('形参','函数体');
var 函数名称 = new Function('函数体');
前面可以有多个参数,但是不能没有函数体,所以最后一位一定会被认为是函数体
var fun = new Function("console.log('123456')");
fun();
var fun = new Function("x=10","y=10","console.log(x+y)");
fun();
3) 使用表达式定义
var 函数名称 = function(形参){
函数体
}
var show = function(x=10,y=20){
console.log(x+y);
}
show();
2、特点
1)函数创建完之后,不会自动执行,想要执行函数,需要调用
2)直接在script中创建的函数,默认是window对象的方法
3)直接输出函数名,其实就是函数体
3、如何调用
1) 函数名( ); [ 本质上是:函数体( ) ]
showName();或者 window.showName();
2)在html调用
<div onclick="showName()">hello</div>
3)赋值给变量
var table = showName;
table();
关键词:var , console , log , document , write , function , name
注意:凡是调用的时候,前面添加new的,我们就称之为是"构造函数"。
<script>
var arr = new Array();
var str = new String();
var obj = new Object()
var fun = new Function();
function showName(){
document.write('<table border="1" width="500">')
for(var i=1;i<=4;i++){
document.write('<tr>');
for(var j=1;j<=5;j++){
document.write('<td>1</td>');
}
document.write('</tr>');
}
document.write('</table>');
}
showName() // 调用函数
// window.showName();
</script>
输出结果:

4、参数
<script>
function show(a = 1,b = 2,c = 3){
console.log(a+b+c);
}
show() // 如果不传参数,则使用默认值,输出结果是 6
show(6,6,6) // 如果传递参数,则 a = 6,b = 6,c = 6;输出结果是 18
show(6,6) // 仅传递两参数,依形参与实参一一对应,则 a = 6,b = 6,c = 3;输出结果是 15
</script>
<script>
function sum(){
console.log(arguments);
// 输出结果是一个伪数组
var all = 0;
for(var i=0;i<arguments.length;i++){
console.log(arguments[i]);
}
}
sum(12,14,13,15,11);
</script>

5、返回值
<script>
function sum(a,b){
var c = a + b;
var d = a - b;
console.log('return之前的代码');
return [c,d]; // 函数返回多个值用数组
// return 返回后,下面的代码不会执行
console.log('return之后的代码');
}
// 与调用不同,return 返回后需用输出方式
console.log(sum(30,10));
</script>
输出结果:

6、全局变量与局部变量

7、自执行函数
<script>
(function() {
// 在这里定义变量和函数,不会污染全局作用域
var variable = "This is a variable";
function greet() {
console.log("Hello, world!");
}
// 调用greet函数
greet();
})();
</script>
使用 - , ~ ,+ 也可以哦!

浙公网安备 33010602011771号