1 函数 function
1.1 概念
函数也是一个对象
函数中可以封装一些功能(代码),在需要时可以执行这些功能(代码),函数中可以保存一些代码在需要的时候调用
使用typeof检查一个函数对象时,会返回function
1.2 Mianji函数对象和mainji()函数返回值
1.3 立即执行函数
函数定义完,立即被调用,这种函数叫做立即执行函数,立即执行函数往往只会执行一次
2 创建函数对象
2.1 构造函数创建(了解)
//可以将要封装的代码以字符串的形式传递给构造函数
var fun= newFunction("console.log('Hello这是我的第一个函数');");
我们在实际开发中很少使用构造函数来创建一个函数对象
2.2 函数声明
基本语法如下:
function functionName([parameter1,parameter2,……]){
statements;
returnexpression;]
}
functionName:必选,用于指定函数名。在同一个页面中,函数名是唯一的,区分大小写。parameter:可选,用于指定参数列表。当使用多个参数时,参数间使用逗号进行分隔。statements:必选,是函数体。
expression:可选,用于返回函数值。
2.3 函数表达式
本质创建一个匿名函数,并将值赋给变量
注意结尾分号
3 函数的调用
3.1 概念
封装到函数中的代码不会立即执行,函数中的代码会在函数调用的时候执行
3.2 直接调用
调用函数 :当调用函数时,函数中封装的代码会按照顺序执行
语法:函数对象() fun();
3.3 事件调用
4 内置函数
4.1 总述
4.2 parseInt()函数
该函数主要将首位为数字的字符串转化成数字,如果字符串不是以数字开头,那么将返回NaN。(数字+字符串…)
语法:
parseInt(StringNum , n )
StringNum:需要转换为整型的字符串。
n:提供在2~36之间的数字表示所保存数字的进制数。(可选)
4.3 parseFloat()函数
该函数主要将首位为数字的字符串转化成浮点型数字,如果字符串不是以数字开头,那么将返回NaN。(数字+字符串…)
语法:
parseFloat(StringNum)
参数StringNum表示需要转换为浮点型的字符串。
4.4 isNaN()函数
该函数主要用于检验某个值是否为NaN。
语法:
isNaN(Num)
参数Num表示需要验证的数字。
说明:
如果参数Num为NaN,函数返回值为true,如果参数Num不是NaN,函数返回值为false。
4.5 isFinite()函数
该函数主要用于检验某个表达式是否为无穷大。
语法:
isFinite(Num)
参数Num表示需要验证的数字。
4.6 encodeURI()函数
该函数主要用于返回一个URI字符串编码后的结果。
语法:
encodeURI(url)
参数url表示需要转化为网络资源地址的字符串。
说明:
URI与URL都可以表示网络资源地址,URI比URL表示范围更加广泛,但在一般情况下,URI与URL可以是等同的。encodeURI()函数只对字符串中有意义的字符进行转义。例如将字符串中的空格转化为“%20”。
4.7 decodeURI()函数
该函数主要用于将已编码为URI的字符串解码成最初的字符串并返回。
语法:
decodeURI(url)
参数url表示需要解码的网络资源地址。
说明:
decodeURI函数可以将使用encodeURI()转码的网络资源地址转化为字符串并返回,也就是说decodeURI()函数是encodeURI()函数的逆向操作。
5 嵌套函数
所谓嵌套函数即在函数内部再定义一个函数,这样定义的优点在于可以使内部函数轻松获得外部函数的参数以及函数的全局变量等。
语法:
function functionName(parameters1,parameters2) {//定义外部函数
function InnerFunction() {//定义内部函数
somestatements;
}
}
6 递归函数
所谓递归函数就是函数在自身的函数体内调用自身,使用递归函数时一定要当心,处理不当将会使程序进入死循环,递归函数只在特定的情况下使用,比如处理阶乘问题。
语法:
functionfunctionName(parameters1) {
functionName(parameters2);
}