所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

php闭包和javascript闭包的区别在哪里?

发布时间:2020-04-12 09:06:47

资讯分类:闭包  php  javascript  区别  变量  函数  定义
php闭包和javascript闭包的区别在哪里?

谢谢邀请。


定义与用途:

首先说闭包定义:一个可以使用另外一个函数作用域中的变量的函数。

PHP与JavaScript都支持闭包语法。

一般用来做执行匿名函数的调用,缓存结果,对象传参, 对象封装 等。


特点:

闭包会使得函数中的变量都被保存在内存中,内存消耗很大。

不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。

解决方法是,在退出函数之前,将不使用的局部变量全部删除。


主要区别:

  1. php 的闭包内要使用外部变量必须通过 use 声明,而 javascript不需要;

  2. php 闭包内变量定义、作用域为定义时上下文,不会像javascript一样由运行时决定;

  3. php 匿名函数内可使用 self 来直接调用定义时类,而 javascript 不能.


举2个小例子,希望能对大家所有帮助:

开发环境:Dreamweaver, PHP


谢谢大家。


(结束)

留言与评论(共有 0 条评论)
   
验证码:
Top