JavaScript | 语法基础(2)

函数简介

暂略….


创建函数对象

创建函数的方式:

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
复制代码

控制台输出:

image.png

⚠️ 注意: 这里的fun2fun2()区别,前者是fun2函数对象,这个对象的结构是

f fun2(){
}
复制代码

而 fun2() 表示函数的函数体,此时没有写内容所以是undefined

此时因为刚声明的函数 没有添加任何内容所以没有内容

下面的就是一个封装好的形式,也包含语句

function fun2() {
  console.log("这是我的第二个函数~~~");
}

复制代码

控制台输出结果:

image.png

?‍♂️ 为什么没有返回结果呢?同样的,封装好的函数还需要调用啊!

function fun2() {
	console.log("这是我的第二个函数~~~");
}
fun2(); // 函数调用
复制代码

⚠️ 注意: 函数调用需要加 ( )

image.png


使用函数表达式

语法:

var 函数名 = function ([形参1,形参2,形参3...形参N]) {
   语句...
}
复制代码

实例:

// 使用函数表达式 创建函数

// 使用函数表达式 就是写一个匿名函数,把他赋给一个函数名为某某某的变量
var fun3 = function (){
  console.log("我是匿名函数里面封装的的代码");
};

fun3();

//console output:
我是匿名函数里面封装的的代码
复制代码

image.png

小结

创建函数的方式
//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
喜欢就支持一下吧
点赞0 分享