三种定义函数的方式:
- function语句形式
- 函数直接量形式
- 通过Function构造函数形式定义函数
比较三种方式定义的区别:
function语句 | Function构造函数 | 函数直接量 | |
兼容 | 完全 | js1.1以上 | js1.2以上版本 |
形式 | 句子 | 表达式 | 表达式 |
名称 | 有名 | 匿名 | 匿名 |
性质 | 静态 | 动态 | 静态 |
解析时机 | 优先解析 | 顺序解析 | 顺序解析 |
作用域 | 具有函数的作用域 | 顶级函数(作用域) | 具有函数作用域 |
<html> <head> <title></title> <script type="text/javascript"> //三种方式定义函数 //一、function语句式 function test1(){ alert('我是test1'); } test1(); //二、函数的直接量:ECMAScript var test2 = function(){ alert('我是test2'); } //三、function构造函数式 var test3 = new Function("a","b","return a+b");//a和b是参数,return a+b是函数体 alert(test3(10,20)); </script> </head> <body></body> </html>