5.JavaScript中的函数

1.什么是函数

函数是完成某一功能的代码段

函数一可重复执行的代码段

函数方便管理和维护

2.自定义函数

1)通过function关键字

function 函数名称(参数,参数2.。){

代码段;

return 返回值;

注意事项:

1.函数名称不要包含特殊字符

2.函数名称最好含义明确

3.函数名称最好遵循驼峰标记法或者下划线法

4.函数名称严格区分大小写

5.函数名称如果重复回产生覆盖

6.函数可以有参数也可以没有参数,可以又一个参数也可以没有多个参数

7.函数通过return加返回值,如果没有return默认返回undefined

8.函数通过return加返回值,如果没有return默认返回undefined

9.函数不调用不执行

2.匿名函数

函数表达式可以存储在变量中,变量也可以作为一个函数使用

可以将匿名函数座位参数传递给其他函数,接收方函数就可可以通过所传递进来的函数完成某些功能

可以通过匿名函数来执行某些一次性的任务

4.通过function()构造函数

通过内置javascript函数构造器function()定义

var myFunction = new Function('a','b','return a+b');

var myFuntion = function(a,b){return a+b;};

注意:以上两种方式都是等价的,尽量避免使用new关键字

3.调用函数

作为一个函数调用,通过函数名称()进行掉用,如果有参数传递相应即可

在HTML中默认的全局对象是HTML页面本身,所以函数是属于HTML页面。在浏览器中的页面对象是浏览器窗口(window对象).所以函数会自动变为window对象的函数。也可以通过window.函数名称()进行调用

全局对象:

当函数没有被自身对象掉用,this的值就会变成全局对象,在web浏览器中全局对象是浏览器窗口window对

函数座位全局对象掉用,会使this的值称为全局对象,使用window对象作为一个变量容易造成程序崩溃

3,函数作为方法掉用

可以将函数定义为对象的方法进行掉用

4.使用构造函数调用函数 

如果函数调用使用饿了new关键字,则调用了构造函数

作为回调函数调用函数 call() apply()

4.参数

1)函数可以有参数也可以没有参数,如果定义了参数,在掉用函数的时候,没有传值,默认设置为undefined

2)在调用函数时如果传递参数超过了定义时参数,js会忽略掉多余参数

3)js中不能直接写默认值,可以通过arguments对象来实现默认值效果

4)可以通古argyments对象实现可变参数的函数

5)通过值传递函数在函数体内对变量做只怪不回影响到变量本身

6)通过对象传递参数在函数体内对变量做更改会影响变量本身

5.变量的作用域

局部变量:

在函数体内声明的变量,仅在函数体内可以使用

全局变量:

函数体外声明的变量,在变量声明开始到脚本结束都可以是使用

注意:

尽量控制全局变量的数量,容易引发bug

最好总是使用var语句来声明变量

6.JavaScript全局函数

1)parseInt(string,radix):返回转换成整数的值

注意:当参数radix的值为0,或者没有设置着歌参数,paseInt()会根据string来判断数字的基数

当忽略radix,js默认数值的基数规则为:

1’如果string以0x开头,parseInt()会把string 的其余部分解析为十六进制的整数

2‘如果string以0开头,那么ECMAScript v3允许parseInt()的一个实现吧其后的字符解析为八进制或者十六进制的数

3’如果string以1-9的数字开头,parseInt()把它解析为十进制的整数

4‘字符串如果以合法致富开始,街区合法字符

5’开头和结尾的空格时允许的

6‘如果字符串的第一个字符不能被转换为数字,parseInt()会返回NaN

7’在字符串以“0开始时久的浏览器默认使用八进制基数,ECMASCript 5,默认的是十进制基数

2.parseFloat(string):返回转换成浮点型的值

该函数制定字符串中的首个字符是否是数字,如果是,则对字符串进行解析,直到到达数字的末端为止然后数字返回该数字,而不失字符串

3.isFinite(value):检测默认是否是无穷值 如果number是NaN或是+Infinity或者-Infinity的书,is Finite()返回的是false

4.isNaN:检测某个值是否是NaN 检测是否是非数字值,如果值为NaN返回true,否则返回false

5.encodeURLI(uri):将字符串编码为URI

使用注意:

1‘使用decodeURI()方法可以编码RUI(通用标识符:UniformResourceIdentifier,简称URI)

2‘对以下中具有特殊含义的AScii标点符号,endoceURI()函数是不会进行转义的:, / ? : @ & = + $ #(可以使用encodeURIczomponent方法对特殊含义的AScII标点符号进行编码)

6.encodeURIComponent(uri):将字符串编码为URI组件

1‘该方法不回对AScii字母和数字进行俾阿妈,也不会对这些AScii标点进行编码:- _ .! ~ ()

2‘其他字符(比如:;/?:@$#&这些用于分隔URI组件的标点符号),都是由一个活多个十六进制的转义序列替换的

7.decodeURIComponent():解码一个编码的URI组件

8.escape():对字符进行编码 

1‘escape()函数对字符串进行编码,这样就可以在所有的计算机上读取该字符串

2’该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。

3‘ escape()函数不能用于编码 URIs(通用资源标识符(UniformResourceIdentifier,简称"URI"))

9.unescape():解码由escape()编码的字符串

10.eval():将js字符串当做脚本来执行

1‘如果参数是一个表达式,eval() 函数将执行表达式。如果参数是Javascript语句,eval()将执行 Javascript 语句。

2‘eval()函数是一种由函数执行的动态代码,比直接执行脚本慢很多

3‘慎重使用eval()函数,尽量不用,保证程序的安全性

11.Number(object):把对象的值转换为数字

1‘如果对象的值无法转换为数字,Number()函数返回NaN

2’如果参数的Date对象,Number()返回从1970年1月1日到现在所经历的毫秒数

12.String():把对象的值转换为字符串

string()函数返回与字符串对象的touring()方法一样

7.特殊形式的函数

函数也是数据:js中的函数也是一种数据,只不过这种特殊类型有连个重要的特性

1‘他们是可以自信的

2’他们所包含的是代码


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值