JavaScript的函数

函数的概念

函数就是代码块,可以多次调用,有独立的局部作用域, 是被设计为执行特定任务的代码块,也用于实现模块化编程。

优点
1.减少冗余代码(可重复使用)
2.使代码结构明晰(模块化)

函数的定义方式

function fn(){
    // 函数体内功能代码
}
//或者进行赋值式声明
 var fn = function(){
    // 函数体内功能代码
 };
    //这种方式下,虽然这个函数没有名字,但是这个函数赋值给了fn,因此通过变量fn也能调用到这个函数
   function---为声明函数的关键字
   fn ------是函数的名称,类似于变量的名称
   () ------为传入函数的参数,多个参数用逗号隔开
   {} ------放置执行的程序块

调用时

//函数名();
fn() ;

例:

	// 函数名的规则和变量一样
      function fn(){
          document.write('');
      }
      // 函数的调用
      //函数名()
       fn();

函数中参数的传递

//这里只传递简单类型数据,函数也能进行引用类型数据参数的传递
//形参和实参都可以有多个,用逗号隔开,多个形参和实参之间必须相互一一对应,顺序也得对应
 function fn(str1,str2,str3){
         document.write(str1+'<br />');
         document.write(str2+'<br />');
         document.write(str3);
     }
 fn('1','2','3');
如果形参和实参不一致:
       形参的数量>实参的数量,没有对应值的形参为undefined;
       形参的数量<实参的数量少,多余的实参会传递到arguments对象中;
       形参的数量=实参的数量相等,对应赋值。
       
       关于arguments对象:
      arguments能拿到方法里没有写参数却传入了的参数.
       例:
       function fn() {
	      // 没有写形参,但是传递了实参
	      console.log(arguments[0], arguments[1]);//arguments按数组的方式拿到参数
	      return arguments[0] + arguments[1];
	    }
	    console.log(fn(11, 22));
	        

设置参数默认值
给函数的参数设置默认值,代用函数的时候,这个参数是不用传值的.
当然,你也可以在函数内部定义一个局部变量并且赋值。

 function fn(name,age=18,info="火星"){
          document.write('我的名字叫'+name+',年龄是'+age+',来自'+info)
      }
      // 有默认值的参数,调用时不用传递参数
      fn('李减除'22"地球");
	  fn('二狗子');

函数的返回值(return)
return是无条件退出当前方法/函数,并且返回数据,没有数据时则返回undefined
作用:
1.返回函数中的数据
2.终止函数的执行
例:

  function fn(){
      document.write('今天真快乐<br />');
      return '啪,快乐-没了';
      document.write('咦嘻嘻,咦嘻嘻嘻');
   }

  var res =  fn();
  document.write(res)
1、函数名的命名规范和变量的命名规范一样
2、函数可以放在任何地方,前提必须在同一个页面中才可以调用
3、小括号里面的参数可以写多个起占位作用,可以在函数体内直接当变量使用,称之为:形参;当调用函数传递的真正的数据称之为:实参

全局变量

 在函数作用域外部声明的变量
 没有加var、let等声明关键字的变量(隐式全局变量)

局部变量

 在函数/方法内部,进行声明的变量

区别:

1、全局变量就是在任何地方都可以使用的变量、会一直占用内存存在与当前页面

2、局部变量就是只能在函数内部使用的变量(不考虑闭包),在通常情况下函数执行完毕后会直接销毁局部变量从而释放内存。

变量的查找规则
1.函数内部可以使用函数外部的变量
2.有局部变量就用局部变量,没有局部变量就用全局变量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值