HTML5技术

由匿名函数引发的‘血案’ - 小白web之路

字号+ 作者:H5之家 来源:H5之家 2015-12-21 09:05 我要评论( )

看了下时间,发现已经年末了,前段时间一直忙着做一个关于学生评价辅导员的系统,本人处女作,因为是第一次,做的也比较慢,所以很久没进行知识的总结。 不过在制作过程,看了挺多的资料,特此在这闲暇的下午,写一篇小小的文章,写的不好,请多多指教 ,不

看了下时间,发现已经年末了,前段时间一直忙着做一个关于学生评价辅导员的系统,本人处女作,因为是第一次,做的也比较慢,所以很久没进行知识的总结。
不过在制作过程,看了挺多的资料,特此在这闲暇的下午,写一篇小小的文章,写的不好,请多多指教 ,不过应该较之以前都有所提高,自己的东西多了,废话不多说,直接进入正题!

数据的存储 Java、C等其他高级编程语言

首先我们应该都了解过Java或C其中一种吧(我的学校两门课都开设了), 相信学过这些语言的小伙伴们都应该清楚在存储数据时,栈中存储原始数据类型,而堆里则存放引用数据类型,But,But,But引用类型的指针变量是存放在栈里的,为了更好地理解,请继续看:

代码 int i = 5; // 原始数据类型 int arr[5] = {1,2,3}; // 引用数据类型 内存分析


(补充: 堆和栈其实是同一个东西,只是由于存储数据的算法不同,而把内存划分为栈内存和堆内存, 本人学习java过去已好久,也许有不对之处,望指出!)

有请主角JavaScript登场

在弱类型编程语言JS中,数据的存储依托于一个叫做变量对象的东东,话不多说(其实是我知道的并不多,嘻嘻~~~),直接来个栗子:

代码 var i = 5; // 原始数据类型 var obj = new Object(); // 引用数据类型 内存分析

下面我要来点猛的了,前方高能,准备好啊,准备好啊,准备好啊

关于JS函数二三事
  • 众所周知,函数就是对象,地位可显赫了,乃JS世界的"一等公民"
  • 既然函数是对象,那为何使用typeof操作符时却返回"function",你丫是不是在逗我。

    No、no、no,之所以为"function",是由于对象中的内部属性决定的,语言设计者只给函数一个[[call]]的内部属性,这才区分了函数和其他对象的不同
  • 有关匿名函数,我们就从函数表达式切入吧!!!

    var fn = function () { // code };

    从上图我们可以得出,一个匿名函数也就是没有地址内存的一块空间,其生存期即被调用后就被清除.

    所以我们就好理解以下代码了:

    dom.addEventListener('click', function(){ // code }, false); dom.removeEventListener('click', function(){ // code }, false); // 无效,无法清除上面添加的事件处理程序

    因为在dom对象触发了click事件时,内存会随机分配相应的空间给匿名函数,而当事件处理后,系统对该内存进行回收,并且是随机性分配,所以上下两个匿名函数是不一样的,从而清楚相应的事件处理程序无效。

    由于匿名函数功能之强大,所以在本文不对其进行更多的讲解
    欢迎大家拍砖,指出不当之处,谢谢!!!

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 【react框架】利用shouldComponentUpdate钩子函数优化react性能以及引入immutable库的

      【react框架】利用shouldComponentUpdate钩子函数优化react性能以及

      2017-04-16 09:02

    • 云计算之路-阿里云上:RDS数据库连接数过万引发故障,主备库切换后恢复正常 - 博客园团队

      云计算之路-阿里云上:RDS数据库连接数过万引发故障,主备库切换后恢

      2017-04-07 16:00

    • 一道面试题引发的对javascript类型转换的思考 - ChokCoco

      一道面试题引发的对javascript类型转换的思考 - ChokCoco

      2017-03-06 17:00

    • 记一次和阿里某总监对话引发的思考:说说你框架的设计思路和优点亮点! - 路过秋天

      记一次和阿里某总监对话引发的思考:说说你框架的设计思路和优点亮点

      2016-12-20 11:00

    网友点评
    r