首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >(JavaScript)前端小白还没学JS吗?跟着本文开启JS的旅程吧!(四):函数的创建(基本创建、声明式创建、立即执行函数);函数传参、对象方法(函数)调用、函数返回值

(JavaScript)前端小白还没学JS吗?跟着本文开启JS的旅程吧!(四):函数的创建(基本创建、声明式创建、立即执行函数);函数传参、对象方法(函数)调用、函数返回值

作者头像
凉凉心.
发布2025-10-13 17:34:08
发布2025-10-13 17:34:08
960
举报
文章被收录于专栏:CSDN专栏CSDN专栏

JavaScript函数

函数function

  • 函数也是一个对象
  • 函数中可以封装一些功能(代码),在需要的使用可以执行这些功能(代码)
  • 函数中可以保存一些代码在需要的时候调用
  • 使用typeof检查一个函数对象时,会返回function

函数的创建

代码语言:javascript
复制
//1.使用构造函数创建一个函数对象
//2.使用函数声明创建一个函数
//3.使用函数表达式创建一个函数/匿名函数
{//代码块
	console.log("苹果");
	console.log("葡萄");
	console.log("菠萝");
}

我们在开发的时候不建议使用这种方式

  • 可以将要封装的代码以字符串的形式传递给构造函数
代码语言:javascript
复制
var fun1=new Function("console.log('这是通过构造函数创建的函数')");
console.log(typeof fun1);
fun1(); // 这是通过构造函数创建的函数

封装到函数中的代码不会即可执行 函数中的代码会在函数调用的时候执行 调用函数:语法 函数对象(); 当调用函数时,函数中封装的代码会按照顺序执行

函数声明创建

使用函数声明来创建一个函数(建议使用方式) 语法:

代码语言:javascript
复制
function 函数名([形参1,形参2,...,形参N]){
	//语句
}

说明: -[形参1,形参2,...,形参N]这里的 [] 表示可以使用参数也可以不使用参数

函数的调用:

  • 函数名([实参1,实参2,…]);
代码语言:javascript
复制
function fun2(){
	console.log("苹果");
	console.log("葡萄");
	console.log("菠萝");
}
fun2();
  • 匿名函数
代码语言:javascript
复制
//使用函数表达式创建一个函数
var fun3= function(){
	alert("这是一个匿名函数")
};
fun3();
  • 声明式创建匿名函数
代码语言:javascript
复制
const a = (b...) => {
	console.log("声明式创建匿名函数")
}

函数参数

定义一个用来求两个数和的函数

  • 可以在函数的()中来指定一个或多个形参(形式参数)
  • 多个形参之间使用","隔开,声明形参就相当于在函数内部声明了对应的变量
  • 但是并不赋值
代码语言:javascript
复制
function sum(a,b){
	var add=a+b;//false+"123" =>false123 
	console.log(add);
}
sum(123,456);
sum(false,"123");

调用函数时解析器不会检查实参的类型, 所以要注意,是否有可能会接收到非法的参数,如果有可能则需要对参数进行类型的检查

调用函数时,解析器也不会对检查实参的数量 多余的参数将不会被赋值,如果实参少于形参的数据,则没有对应实参的形参将是undefined

代码语言:javascript
复制
function result(a,b,c){
	console.log("a="+a);
	console.log("b="+b);
	console.log("c="+c);
	var sum=a+b+c;
	console.log("sum="+sum);	
}
result(123,234);//实参少于形参
result(123,234,345,6767,78,9);//实参多余形参

返回值与立即执行函数

  • 创建一个函数,用来计算三个数的和

思路:

  • 可以通过return 来返回函数的返回值

语法:return 值;

  • return 后面值将会作为函数的执行结果返回,可以定义一个变量来接收函数的返回值

在函数return后的语句都不会执行 如果return语句后不跟任何值,就相当于返回一个undefined

代码语言:javascript
复制
function sum(a,b){
	var c=a+b;
	return c;
	alert("234234");
}
var total = sum(12,45);
console.log("返回结果=="+total);
  • 立即执行函数

函数定义完,立即被调用,这种函数叫做立即执行函数 立即执行函数往往只会执行一次

代码语言:javascript
复制
(function(){
	alert("这是一个立即执行函数");
})();

(function(a,b){
	alert(a+b);
})(23,23);

方法

代码语言:javascript
复制
//创建一个对象
var obj=new Object();
obj.name="zhangsan";
obj.age=23;
obj.sayWorld=function(){
	alert("hello every! my name is "+obj.name);
};
//	console.log(obj.sayWorld);
//	obj.sayWorld();
  • 函数也可以作为对象的属性, 如果一个函数作为一个对象的属性保存,那么我们称这个函数是这个对象的方法

调用函数就是调用对象的方法 但是它只是名称上的区别没有其他的区别

代码语言:javascript
复制
function sayHello(){
	alert("hello every!");
}
var obj1=new Object();
obj1.name="小红";
obj1.age=23;
obj1.sayWorld=sayHello;
//obj1.sayWorld();//通过对象去调用,我们叫做方法
//sayHello();//叫做函数的调用
  • 字面量方式创建带方法的对象
代码语言:javascript
复制
//通过对象字面量的方式创建对象
var person={
	name:"小明",
	age:12,
	sayWord:function(){
		alert("hello every! my name is "+person.name);
	}
};
person.sayWord();
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JavaScript函数
    • 函数的创建
    • 函数声明创建
    • 函数参数
    • 返回值与立即执行函数
    • 方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档