JavaScript系列(三:函数)
来源:互联网 发布:mac安装win10激活工具 编辑:程序博客网 时间:2024/05/24 03:47
引言:
上一篇博客,小编提到了引用类型,本篇博客将对引用类型三大家族中的函数家族进行一个总结。
概述:
函数的定义,小编不在赘述,本篇博客主要总结俩部分知识,一:函数的嵌套和递归;二:JavaScript五大系统函数的用法。
内容:
一:函数的嵌套与递归:
1 嵌套:JavaScript支持函数的嵌套定义,即在一个函数内部定义和使用另外一个或多个函数,嵌套定义是JavaScript语言独有的特性。
(1)语法格式:
<pre name="code" class="html">function box() { //函数box()的一条或多条语句,包括函数box1()的定义。 function box1(){ //函数box1()的一条或者多条语句,可以使用函数box()中声明的变量。 } } 本语法结构中,box1()是内部函数,box()是外部函数。内层函数可以使用外层函数中定义的变量,但 外层函数不能使用内层函数定义的变量。采用嵌套后,其他函数不能直接访问内层函数,只能通过外层函 数来访内层函数,但是外层函数可以调用本身的内层函数,这样实现了信息的隐藏。
<pre name="code" class="html"><!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=UFT-8"/><title>函数嵌套</title><script type="text/javascript">function box(){//定义外层函数function box1(){//定义内层函数var a = 'li';var b = 'ming';return a + b;}var c = 'My name is';return c + box();}</script></head><body><div id='me'><script type ="text/javascript">document.write("自我介绍:" + box());//调用函数</script></div></body></html>
2 递归:一个函数直接调用该函数本身,或者几个函数之间相互调用。
(1)语法格式:
<pre name="code" class="html">function f1(){......f1(); //调用自身......}function f1(){ //俩个函数递归调用......}f2();......}function f2(){......f1();......}(2)实例分析:
<pre name="code" class="html"><!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UFT-8"/> <title>递归函数</title> <script Language="JavaScript">function f(n){//定义函数f(n)document.write("调用f(",n,")</br>");if(n==1) return 1;else return f(n-1)+5;}document.write("f(5)值为:",f(5)); //调用函数f(n) </script> </head> <body> </body> </html>
二 :五大系统函数的用法:
1 encodeURI函数:
定义:函数可以把字符串作为URI进行编码并返回,例如百度网址字符串‘http://www.baidu.com’,而URL是最常见的一种URI,语法格式:encoudeURI(URIstring)。
目的:对URI进行完整编码,但不会对单独ASCII子母和数字进行编码,也不会对在URI中具有特殊含义的ASCII标点符号进行编码。
备注:如果URI组件中含有分隔符,如?和#,则应该使用 encodeURIComponent()方法分别对各组件进行编码。
2 decodeURI函数:
定义:对encodeURI()函数编码过的URI进行解码,语法格式:decodeURI(URIstring)
目的:实现页面代码类型格式的转换,例如GB2312和UTF之间的转换,实现接收到的参数与原来发送的一致。
3 parseInt函数:
定义:将一个字符串按照指定的进制转换为一个整数,语法格式:parseInt(numString,[radix]),第一个参数为要进行转换的数字,第二个参数是介于2~36之间的数值
备注:JavaScript还有parseFloat()函数,将字符串转换为浮点数。
4 isNaN函数:
定义:用于检查参数是否为非数字值,语法格式:isNaN(x),如果x是特殊的非数字值NaN(或者能被转换为这样的值),返回值就是true,否则返回false。
目的:通常用来检测parseFloat()和parseInt()的结果,判断它们表示的是否是合法的数字,也可以用isNaN()函数来检测算术错误,如用零做除数的情况。
5 eval函数:
定义:将某个参数字符串解析为一段JavaScript代码执行,语法格式:eval(string)。
备注:改方法只接受原始字符串作为参数,否则方法不做任何改变地返回参数。因此不要传递String对象来作为参数。
总结:
函数可以在一个或多个程序中被多次调用,也可以在多人开发的不同程序中应用。函数可以把大段的代码划分为一个个易于维护、易于组织的代码单位,同时实现函数定义和调用的分离,复用性提高了。函数是很好的工具,利用的好函数不仅能提高我们的编码效率,同时也能让我们的代码更加健壮。
- JavaScript系列(三:函数)
- 研磨JavaScript系列(三):函数的魔力
- JavaScript学习(三)-函数
- html javascript函数(三)
- JavaScript难点系列(三):异步编程
- javascript数据结构系列(三)-栈
- JavaScript语法入门系列(八) 函数
- JavaScript基础系列--函数
- javascript常用函数大全(三)
- javascript基础部分(三)使用函数
- javascript语言精粹笔记(三)函数
- JavaScript入门指南---(三)、函数
- JavaScript函数式编程(三)
- JavaScript概览(三)--函数
- JavaScript系列三:JavaScript内置对象
- Javascript(三)Javascript基础(函数与数组)
- Javascript学习系列(三):前台、后台动态控制CSS
- 学习Javascript数据结构与算法系列笔记(三):集合
- Could not generate CGLIB subclass of class编译时出错
- vsrs3.5 opencv2.4.9 vs13 配置
- 单反光圈、快门和感光度的关系
- RedHat 7.0 下 FTP 服务的安装,启动,配置,以及虚拟用户的建立
- ubuntu 信息获取
- JavaScript系列(三:函数)
- Uplinkfast / Backbonefast / Portfast
- Netty
- C++ 输入函数getline(cin,str) 与cin.getline(str,int)区别
- Java高级部分网络编程重点总结
- 使用yum快速部署Oracle安装环境(11g)
- 推荐36个网站
- sql中修改sa密码, 查看、设置端口号
- MySql计算两个日期时间的差函数