博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php复习函数作用域、递归、闭包....
阅读量:3779 次
发布时间:2019-05-22

本文共 643 字,大约阅读时间需要 2 分钟。

1、分析:什么时候需要用到函数

2、明确:函数的内容与参数的设计

3、不断的执行操作和实践,找出最佳方案

从一个数组中找出最大的值:

思路1:拿数组中的第一个value去和遍历出来的value做比较

思路2:思路1太麻烦,一个内置函数就搞定了

1、函数结构分析

2、函数强类型参数

3、函数可变参数列表

该形参是:语言结构,会比使用函数执行的快

4、函数变量作用域

如果想被函数或类中的方法访问,那是超全局变量

总结:

1、global$GLOBALS都能将局部变量,变为全局变量

2、global是开辟一个新的内存空间,函数内部的操作不会对外部产生影响(相当于引用传值,浅拷贝)

3、$GLOBALS是和局部变量使用同一块内存空间,内部可以修改外部(相当于值传递,深拷贝)

注意:超全部变量,不可以被用于可变变量(...$num形参那的)

动态变量:函数执行完会立即释放(默认是动态变量)

此为函数里边的静态变量,不是类里的静态变量

变量范围里面的一个重要的特性,静态变量仅仅在局部函数域中存在,当程序执行完离开这个作用域的时候,他的值并没有丢失

5、复杂函数之可变函数

经常用在回调函数,函数列表,根据动态参数调用不同的函数

我没有自己封装可变函数 也能用啊。以后可能会有问题(参考4-1)

6、复杂函数之嵌套函数

下图为:单层嵌套

下图为多层嵌套:

参数传递:

6、复杂函数之递归函数

7、复杂函数之匿名(闭包)函数

8、复杂函数之代码重用

9、回调函数

参考:进阶篇函数3-3

你可能感兴趣的文章
Lambda 表达式
查看>>
字符串函数MySQL
查看>>
8个SQL讲解优化
查看>>
MySQL实战续(二)
查看>>
安装Elastic和kibana
查看>>
什么是搜索
查看>>
全文检索工具elasticsearch
查看>>
Vue之条件渲染实战
查看>>
Vue之侦听属性
查看>>
求职指南(1)
查看>>
MySQL day11
查看>>
MySQL day12
查看>>
JSONP原理
查看>>
Vue.js学习笔记—插值的操作(1)
查看>>
CSS的四种方式实现水平居中
查看>>
RISC-V生态架构浅析(认识RISC-V)
查看>>
? 精美图文带你掌握 JVM 内存布局
查看>>
谈谈go.sum
查看>>
tls 1.2 example
查看>>
GitHub 计划登陆中国,将产生哪些影响与意义?
查看>>