学习前端的第二十一天——function函数

不知不觉算上休息时间,学习前端已经超过1个月了,不过感觉学习进度还是有丶太慢了,今天只学了函数的基础而已,不过不能操之过急,跟着老师的节奏走吧。



一、function函数介绍和语法


介绍:

  • function是引用数据类型
  • 函数的作用其实就是一个方法,把一些重复的代码封装进函数多次使用
  • 通俗点,函数就是一个功能,就是一个方便、可以重复使用的工具。

语法:

function 函数名(参数1, 参数2, 参数3…){
要执行的代码;
}
函数名(参数1, 参数2, 参数3…); //函数调用


说明:

  • function是系统提供的关键字,表示是函数
  • function关键字后面跟着的是函数名(英文的,和变量命名规则一直)
  • 函数名后面的括号里面可以传递参数,参数其实也相当于是一个变量,这个变量的值会根据函数调用时传递进行的值改变
  • 函数名()里面的参数,如果是多个参数需要使用逗号隔开,参数的个数不做限定
  • 函数名加括号表示调用函数,调用了函数function里面的代码就会执行
  • 调用函数的时候,函数名()里面的参数可以传递任意数据类型

关于函数的参数问题:

  • 函数里面的参数有两种类型,分为形参和实参
  • 形参:形式上的参数,起了一个占位的作用,写在function后面的函数名括号里面 function fn(形参);
  • 实参:就是最终要使用的真实的数据,就是函数调用时,fn(实参)里面的
  • 形参和实参是一个映射的关系,一 一对应
  • 传递的实参要和形参的个数一致,不然会返回undefined
  • 当形参有重复(参数名称一样)的情况下,后面的会把前面的给覆盖,跟变量规则是一样的
  • 参数的数据类型不限定,实参传递的是什么数据类型,形参接收到就是什么数据类型
    在这里插入图片描述


二、function函数声明和调用方法


函数声明方式:

  • 直接声明
    语法:
    function 函数名(参数1, 参数2, 参数3…){
    要执行的代码;
    }
    函数名(参数1, 参数2, 参数3…); 函数调用
  • 通过变量加function关键字形式声明
    语法:
    var fn = function(){}
    说明:
    1、函数没有名称,只有关键字function后面加括号的形式,把这种形式称之为匿名函数
    2、匿名函数调用,通过变量名称加括号形式,因为变量里面保存的就是函数本身

函数的调用方式:

  • 函数名+括号 fn()
  • 通过事件调用函数
  • 自调用 括号加匿名函数形式
    (function(){
    console.log(666);
    })();


三、常用事件


js获取元素方式:

  • 通过元素的id名称可以直接获取
  • 通过DOM里面提供的一些方法可以获取到元素,DOM是js给咱们提供的一些操作标记的方法
    1、document.getElementById() 通过id名称来获取元素
    2、注意:document.getElementById(‘box’); 这种方式括号里面的参数数据类型是字符串

js里面常用的事件:

  • onclick 点击(单击)事件
  • onmouseover 鼠标移入
  • onmouseout 鼠标移出
  • onload 当网页中所有的资源加载完毕后,再执行js代码

js绑定事件:

  • 把元素和事件结合起来,叫做绑定事件
  • 语法:
    元素.事件 = function(){}
  • 注意:在js里面属性如果是多个单词的情况,使用的是驼峰式命名法
//匿名函数

//获取元素
var btn = document.getElementById('btn');

//绑定事件
btn.onclick = function(){
    
    
	alert('666');
}


//直接引用

function fn(){
    
    
    alert('666');
}
btn.onclick = fn;

关于代码执行顺序问题:

  • 问题描述:当html、css、js一起执行的时候,开始会按着代码的顺序依次加载执行,当html和css代码在执行的
    过程中遇到script标记的时候,会暂停执行html和css代码,当js代码执行完毕后才会继续执行html和css代码
  • 遇到html和js代码交换的时候,一般情况下会把js代码放在html的最下面
  • 解决方案:使用onload事件,当网页中所有的资源加载完毕后,再执行js代码

猜你喜欢

转载自blog.csdn.net/Robergean/article/details/118029453