函数简介
暂略….
创建函数对象
创建函数的方式:
1、普通创建
2、使用函数声明
3、函数表达式
普通创建
语法:
var 函数名 = new Function();
复制代码
实例:
// 创建一个函数对象 fun
var fun = new Function();
// 测试 其类型
console.log("fun的类型=" + typeof(fun));
// console output:
fun的类型=function
复制代码
⚠️ 说明用Function创建的对象fun
,类型是 function
, 说明这个”变量”的类型是函数
▶Example: 使用普通创建方式,向控制台输入信息
var fun = new Function("console.log('Hello 这是我的第一个函数');");
fun();
//console output:
Hello 这是我的第一个函数
复制代码
注意事项和说明:
- 封装到函数中的代码不会立即执行,只是存放到里头
- 要想执行,必须调用函数对象,调用函数对象语法:
函数对象名()
- 当调用函数时,函数中被封装的代码会顺序执行调用几次,执行几次
函数因为也是对象,所以可以当作对象使用,函数对象具有所有不同对象具有的功能
,但是比普通功能更强大
/*
fun.hello就相当于这个函数对象的 属性
但是这个样子声明函数不好,使用专门的声明函数方式
*/
var fun = new Function("console.log('HEllo 这是我的第一个函数');");
// 函数因为也是对象,所以可以当作对象使用
fun.hello = "你好";
console.log( fun.hello) ;
// console output:
你好
复制代码
使用函数声明
语法:
function 函数名 ([形参1,形参2,形参3...形参N]) {
语句...
}
复制代码
实例:
// 使用函数声明 来创建一个函数 ( 就像 一般编程语言声明函数一样)
function fun2() {
}
console.log( fun2 );
// console.log(fun2()); // undefined
复制代码
控制台输出:
⚠️ 注意: 这里的
fun2
和fun2()
区别,前者是fun2函数对象,这个对象的结构是f fun2(){ } 复制代码
而 fun2() 表示函数的函数体,此时没有写内容所以是
undefined
此时因为刚声明的函数
没有添加任何内容
所以没有内容
下面的就是一个封装好的形式,也包含语句
function fun2() {
console.log("这是我的第二个函数~~~");
}
复制代码
控制台输出结果:
?♂️ 为什么没有返回结果呢?同样的,封装好的函数还需要调用啊!
function fun2() {
console.log("这是我的第二个函数~~~");
}
fun2(); // 函数调用
复制代码
⚠️ 注意: 函数调用需要加 ( )
使用函数表达式
语法:
var 函数名 = function ([形参1,形参2,形参3...形参N]) {
语句...
}
复制代码
实例:
// 使用函数表达式 创建函数
// 使用函数表达式 就是写一个匿名函数,把他赋给一个函数名为某某某的变量
var fun3 = function (){
console.log("我是匿名函数里面封装的的代码");
};
fun3();
//console output:
我是匿名函数里面封装的的代码
复制代码
小结
创建函数的方式
//1、普通形式:
var fun = new Function();
//2、函数声明
function fun2() {
}
//3、 函数表达式
var fun3 = function(){
};
复制代码
⚠️ 注意事项
var fun = new Function("console.log('HEllo 这是我的第一个函数');");
fun();
// --------------------
// 对于Function("xxx"); 其中xxx是向控制台输出的命令
// 对于这个,因为console.log()是一个函数,返回字符串,就相当于
function fun2() {
console.log("这是我的第二个函数~~~");
}
fun2();
复制代码
//使用函数声明
function fun01(){
console.log("console.log('这是用函数声明创建的函数');");
}
fun01();
//使用函数表达式
var fun02 = function(){
console.log("console.log('这是用函数表达式创建的函数')");
}
fun02();
// console output:
console.log('这是用函数声明创建的函数');
console.log('这是用函数表达式创建的函数')
复制代码
⚠️ 使用函数声明和 函数表达式的区别可以简单理解为 函数声明是 函数,而 函数表达式是将函数「赋值」给变量
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END