JS初级Function

90 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第22天juejin.cn/post/712312…

函数

1、函数的概念,也是作用:是完成指定功能的程序代码(程序段),可以反复调用,减少代码冗余。函数只要不调用,里面不管写的是什么,都无法使用。里面包含全局变量,也不会被使用。

2、语法1:这是不带返回值的函数,能够输出alert是因为函数自己本身所带的功能

Function 空格 函数名(形参1,形参2…){

     语句;

     语句;

     [return]

}

   调用函数:函数名(实参);

形参是用来接收实参的,实参是一个值(实参是赋值给形参的)

 

语法2:创建函数另一种方法(通过声明变量的方法创建函数)

Var fnName=function(){

语句;

。。。

fnName();

 

有的函数没有函数名和参数,也有return

函数调用本身也是个表达式

Var res=sum(1,2)  alert(res);输出res的结果是return返回的值

 

Return是作为函数调用的结果(作为函数调用的返回值),return后面可以是任何东西,也可以是表达式,然后给函数调用赋值给一个新的变量,在alert输出这个新的变量

Return 放在函数的最后一行

Return 作用:1、结束函数

 

匿名函数  

解释:匿名函数就是函数的第二种创建方法

作用:可以作为一个参数传给函数

1、函数的第二种创建方法,相当于把整个函数赋值给fnName,只不过赋值的是整个函数

2、把函数作为一个实参,传到另一个函数的形参里

 

回调函数:不是一种函数本身的写法,是把一个函数作为另一个函数的参数(实参,实参名是完成程序的函数名),传进去(传给形参),并调用(在另一个函数体里调用),这个函数就叫回调函数。

 

递归函数:自己调自己;

构造函数:主要用来构造对象;

内部(私有)函数

要背下来,变量的作用域:(尽可能多用私有变量)

全局变量:在函数外定义的变量,在当前程序任何位置都可以使用

局部变量(私有变量):在函数内定义的变量,只能在该函数里用

函数的作用域, 在函数外面创建的函数可以全局使用,在函数里面又创建了一个b函数,b就是私有函数

补充:alert(sname);

      Var sname=”tom”;

结果:浏览器弹出警示框并输出undefined。先使用在创建,会把变量声明var sname;提升到alert之前,=“tom”不会提升。这种情况称为变量提升。这是es5的一个bug

用var声明的都存在变量提升的问题

 

系统函数(系统已经创建好的,直接调用就可以)调用时,()里需要些一个url

1、        URL编码函数:encodeURI()  ()里写url地址,然后把encodeURI()赋值给一个新的变量enurl,在输出的,就能编码

例子:

2、        URL解码函数:decodeURI()

3、        数据类型转换函数-转换为整数:parseInt();转换失败返回NaN

4、        数据类型转换函数-转换为实数:parseFloat();转换失败返回NaN

5、        判断是否是非数字:isNaN();

6、        执行字符串表达式或执行js语句字符串:evalr

数据类型转化:字符串转为数值型,字符串开头是数字,后面是字母例如(var x=“123abc”),会尝试转换为数值型,alert(x)输出结果会是123,开头是字母,例如(var x=“abc123”),后面是数字, alert(x)输出结果会是NaN.