`
cobo85
  • 浏览: 114850 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaScript系统学习问题发现与总结之函数(二)

阅读更多

          JavaScript中的函数应该说是JavaScript的灵魂,对于JavaScript的掌握和应用的好坏很大程度上取决于对JavaScript中函数的掌握,个人认为jQuery和ext虽然给我们提供了很多好用且强大的功能,真正把底层的搞明白了,才能真正的发挥这些工具的强大,才能使用的更优雅。

         JavaScript中几种函数的区别,及解释运行时间的区别,先看段代码

function demo(){
     return 3;
  }
  alert(demo());
  function demo(){//重写demo
    return 4;
  }
   alert(demo());
  demo=function(){//改变demo函数
     return 5;
  }
   alert(demo());
  demo=function(){
     return 6; 
  }
   alert(demo());
  function demo(){//继续重写demo
     return 7;
  }
  alert(demo());

 运行一下结果为:7 ,7,5,6,6而不是想当然的3,4,5,6,7.是不是有点怪

这就说明了不同的函数写法,解释和运行的时期是不一样的,很明显声明式的函数在运行期前面已经有JS的解析器进行了解释,这就产生了3,4被后来的7覆盖的结果,而匿名的函数是在运行期才开始解释这就产生了6没有覆盖5.原来一直认为JS是在运行时才被解释,看来并不完全是那样的!

    关于闭包传参在这里不写太多,就做一个简单的demo

   

function a(x){
   return function(y){
      return function(z){
	     return x*y+z;
	  }
   }
}
var t=a(2)(3)(4);
alert(t);//结果为10,第一层x被赋为2,第二层为y为3,第三层z为4。

上面的功能等同于

alert(function (x){
   return function(y){
      return function(z){
	     return x*y+z;
	  }
   }
}(2)(3)(4));

 

.当然这样的嵌套层次理论上可以无限多,后面的括号顺序就是层次.关于闭包及函数的更多高级功能在以后慢慢的学习总结

 

 

 

分享到:
评论

相关推荐

    javaScript函数式编程

    全书共9章,分别介绍了JavaScript函数式编程、一等函数与Applicative编程、变量的作用域和闭包、高阶函数、由函数构建函数、递归、纯度和不变性以及更改政策、基于流的编程、类编程。除此之外,附录中还介绍了更多...

    【JavaScript源代码】VUE入门学习之事件处理.docx

    VUE入门学习之事件处理  目录 1. 函数绑定2. 带参数和$event 3. 多个函数绑定一个事件4. 事件修饰符5. 按键修饰符 6. 系统修饰键 .exact 修饰符 鼠标按钮修饰符总结 1. 函数绑定 2. 带参数和$event 3. 多...

    JavaScript王者归来part.1 总数2

     1.7 学习和使用JavaScript的几点建议   1.8 关于本书的其余部分   第2章 浏览器中的JavaScript  2.1 嵌入网页的可执行内容   2.2 赏心悦目的特效   2.3 使用JavaScript来与用户交互  2.4 绕开脚本陷阱 ...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    函数与函数式编程 函数式编程之参数详解 局部变量与全局变量作用域 递归 函数式编程与函数不同 高阶函数 第4周 上节内容回顾 心灵鸡汤 装饰器详解 装饰器应用详解 装饰器之函数即变量 装饰器之高阶函数 装饰器之...

    python入门到高级全栈工程师培训 第3期 附课件代码

    08 数学意义的函数与python中的函数 09 为何要有函数 10 函数返回值 11 可变长参数 第15章 01 上节课复习 02 全局变量与局部变量 03 风湿理论之函数即变量 04 函数递归 05 函数递归补充 第16章 01 上节课回顾 02...

    前端 ES6 知识总结思维导图

    ES6 还引入了一套新的模块系统,可以使开发者更轻松地管理和组织 JavaScript 代码。 许多新的 ES6 功能已经被现代的浏览器和运行时环境所支持,但是对于一些旧版本的浏览器来说,可能需要使用转译器(例如 Babel)...

    asp.net知识库

    ASP.NET 2.0使用Web Part创建应用程序之二(共二) 体验 .net2.0 的优雅(2) -- ASP.net 主题和皮肤 NET2.0系列介绍(一).NET 2.0 中Web 应用程序主题的切换 ASP.NET 2.0 中Web 应用程序主题的切换 2.0正式版中...

    C++ Template 基础篇(一):函数模板详解

    Template所代表的泛型编程是C++语言中的重要的组成部分,我将通过几篇blog对这半年以来的学习做一个系统的总结,本文是基础篇的第一部分。 为什么要有泛型编程 C++是一门强类型语言,所以无法做到像动态语言(python...

    百度java贪吃蛇源码百度-JavaScriptAdvanced8:JavaScript高级联系新版

    相关知识点做一个快速复习总结。 重新介绍 JavaScript JavaScript 是什么 解析执行:轻量级解释型的,或是 JIT 编译型的程序设计语言 语言特点:动态,头等函数 (First-class Function) 又称函数是 JavaScript 中的...

    java从入门到精通70个PPT

    12 javascript内置对象和内置函数 13 javascript的DOM编程 14-15项目案例:当当网上书店或者做一个计算器 16 Ajax 原理 17 Ajax框架 18 在线培训:JQuery 19 Jsp与动态网站初体验 20 状态管理 21 JSTL和EL 22 JSP...

    JavaScript window.setTimeout() 的详细用法

    虽然我学习和应用javascript已经两年多了,但是对setTimeout方法,有时候也要查阅资料。今天对js的setTimeout方法做一个系统地总结。 setInterval与setTimeout的区别 说道setTimeout,很容易就会想到setInterval,...

    PHP和MySQL WEB开发(第4版)

    第19章 与文件系统和服务器的交互 19.1 文件上载 19.1.1 文件上载的HTML代码 19.1.2 编写处理文件的PHP 19.1.3 避免常见上载问题 19.2 使用目录函数 19.2.1 从目录读取 19.2.2 获得当前目录的信息 19.2.3 创建和删除...

    PHP和MySQL Web开发第4版pdf以及源码

    第5章 代码重用与函数编写 5.1 代码重用的好处 5.1.1 成本 5.1.2 可靠性 5.1.3 一致性 5.2 使用require()和include()函数 5.2.1 文件扩展名和require()语句 5.2.2 使用require()制作Web站点的模版 5.2.3 ...

    PHP和MySQL Web开发第4版

    第5章 代码重用与函数编写 5.1 代码重用的好处 5.1.1 成本 5.1.2 可靠性 5.1.3 一致性 5.2 使用require()和include()函数 5.2.1 文件扩展名和require()语句 5.2.2 使用require()制作Web站点的模版 5.2.3 ...

    网页制作之个人简历介绍

    大体我总结为以下几个方面,如果想学好的话,建议你进行系统的学习,由浅入深。 第一大步:掌握前台技术 1、学会HTML,再熟悉一下XHTML,了解他们之间的区别,学习的过程当中少用DreamWever这种所见即所得的软件进行...

    程序员为什么还要刷题-js-advanced-functions-basic-functions-review-lab-online-web-

    程序员常刷题JavaScript 高级函数:基本函数回顾 学习目标 使用函数声明定义函数 定义术语提升 使用函数表达式定义函数 定义术语“匿名函数” 定义 IIFE:即时调用的函数表达式 定义术语“函数级作用域” 定义术语...

    程序员为什么还要刷题-js-advanced-functions-basic-functions-review-lab-re-coded_is

    程序员常刷题JavaScript 高级函数:基本函数回顾 学习目标 使用函数声明定义函数 定义术语提升 使用函数表达式定义函数 定义术语“匿名函数” 定义 IIFE:即时调用的函数表达式 定义术语“函数级作用域” 定义术语...

    程序员为什么还要刷题-js-advanced-functions-basic-functions-review-lab-rcdd_202010

    程序员常刷题JavaScript 高级函数:基本函数回顾 学习目标 使用函数声明定义函数 定义术语提升 使用函数表达式定义函数 定义术语“匿名函数” 定义 IIFE:即时调用的函数表达式 定义术语“函数级作用域” 定义术语...

    程序员为什么还要刷题-js-advanced-functions-basic-functions-review-lab-re-coded_ir

    程序员常刷题JavaScript 高级函数:基本函数回顾 学习目标 使用函数声明定义函数 定义术语提升 使用函数表达式定义函数 定义术语“匿名函数” 定义 IIFE:即时调用的函数表达式 定义术语“函数级作用域” 定义术语...

    程序员为什么还要刷题-js-advanced-functions-basic-functions-review-lab-yale-web-ys

    程序员常刷题JavaScript 高级函数:基本函数回顾 学习目标 使用函数声明定义函数 定义术语提升 使用函数表达式定义函数 定义术语“匿名函数” 定义 IIFE:即时调用的函数表达式 定义术语“函数级作用域” 定义术语...

Global site tag (gtag.js) - Google Analytics