总括:
函数创建的方式
1.声明式 - 有名函数(一种)
2.赋值式 - 匿名函数(三种)
1.将函数体赋值给变量,
2.自执行函数,
3.事件处理函数
函数的调用
1.通过函数名进行调用。
2.普通声明式函数,可以反复,前后调用。
以下是使用各种方法,用函数创建一个表格。
1.声明式: 普通函数,一定有函数名称。
function 函数名称() {
函数体
}
function 定义函数的关键字,createTable函数名称 ():参数,传递值,扩展函数的功能
创建表格的函数。
函数如果不调用,理解成此函数不存在一样。
function createTable(x, y) {
document.write('<table border=1>');
var i = 1;
while (i <= x) {
document.write('<tr>');
var j = 1;
while (j <= y) {
document.write('<td>11111</td>');
j++;
}
document.write('</tr>');
i++;
}
document.write('</table>');
}
//函数调用,使用:允许在声明的前后进行调用,重复调用。
//格式:函数名()
createTable(4, 5);
createTable(6, 6);
2.赋值式:函数表达式- 匿名函数。
//createTable(); //undefined() 这里不能调用,因为变量前置访问是undefined
var createTable = function() {
document.write('<table border=1>');
var i = 1;
while (i <= 5) {
document.write('<tr>');
var j = 1;
while (j <= 5) {
document.write('<td>11111</td>');
j++;
}
document.write('</tr>');
i++;
}
document.write('</table>');
};
createTable();
3.赋值式:自执行函数 - 声明和调用写到一起,只能执行一次。
通过括号将整个函数声明变成函数表达式。
(function() {
console.log('我是函数体');
})();
// 有很多的符号将函数结构转换成表达式。!~+ -
! function() {
console.log('我是函数体');
}();
- 赋值式: 事件处理函数, 将函数体(函数名等同于函数体) 给事件, 由事件进行调用。
function fn() {
console.log('我是给事件使用的');
}
document.onclick = fn; //当点击document调用fn函数。
document.onclick = fn(); //这是错误的写法,因为函数已经调用了。
document.onclick = function() {
console.log('我是给事件使用的');
};