首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端基础-ECMAScript函数

第4章 函数 4.1 参数默认值 ES5中定义函数时,不能指定参数的默认值。 ES6中定义函数时,可以指定参数的默认值。...//ES5中,只能变相实现参数默认值(函数内部加判断处理) function f1(username){ //传统的指定默认参数的方式 var username = username || 'zhangsan...var arr=[3,4,5]; f3(...arr);//输出:3 4 5 //ES5中,如果需要传递数组当参数,我们需要使用函数的apply方法 f3.apply(null,arr);//输出...:3 4 5 4.3 不定参数(可变参数/剩余参数) 不定参数是指,在函数中使用 命名参数 同时接收 不定数量 的 未命名参数,需要使用三个连续的点 (...) 。...这是一种语法糖(在原语法上的简化用法),ES5通过函数内部的arguments对象来达到类似效果。

24220

前端基础-JavaScript函数

第7章 函数 把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在后续开发中可以反复调用 函数的作用就是封装一段代码,将来可以重复使用 7.1 函数的声明及调用...7.1.1 声明 关键字声明 function 函数名(){ // 函数体 } 表达式声明 var fn = function() { // 函数体 } 特点: 函数声明的时候,函数体并不会执行...一个函数一般都特定的用来干 一件 事情 7.1.2 调用 调用函数的语法: 函数名(); 特点: 函数体只有在调用的时候才会执行,调用需要()进行调用。...7.4 函数相关的其它事情 7.4.1 匿名函数与自调用函数 匿名函数:没有名字的函数 匿名函数如何使用: 将匿名函数赋值给一个变量,这样就可以通过变量进行调用 var fun1 = function...7.4.2 函数本身也是值 * function fn() {} console.log(typeof fn); 函数作为参数 因为函数也是一种值类型,可以把函数作为另一个函数的参数,在另一个函数中调用

30420
您找到你想要的搜索结果了吗?
是的
没有找到

前端基础-JavaScript函数进阶

关键字声明必须有名字 关键字声明会函数提升,在预解析阶段就已创建,声明前后都可以调用 函数表达式类似于变量赋值 函数表达式没有函数名字 函数表达式没有变量提升,在执行阶段创建,必须在表达式执行之后才可以调用...凡是可以使用值的地方,就能使用函数。比如,可以把函数赋值给变量和对象的属性,也可以当作参数传入其他函数,或者作为函数的结果返回。函数只是一个可以执行的值,此外并无特殊之处。...那就是在函数的内部,再定义一个函数。...闭包就是函数f2,即能够读取其他函数内部变量的函数。 由于在JavaScript语言中,只有函数内部的子函数才能读取内部变量, 因此可以把闭包简单理解成**“定义在一个函数内部的函数”**。...,其变量 n 变化一次; 因 函数f1被调用时,返回的结果是f2函数体,也就是说,f2函数被当作值返回给f1的调用者, 但是f2函数并没有在此时被调用执行, 所以整个 f1 函数体,无法判断子函数f2

51310

前端基础-JavaScript构造函数

第2章 构造函数 学习目标 构造函数语法 分析构造函数 构造函数和实例对象的关系 实例的 constructor 属性 instanceof 操作符 普通函数调用和构造函数调用的区别 构造函数的返回值...构造函数的问题 2.1 构造函数 JavaScript 语言使用构造函数作为对象的模板。...所谓 ”构造函数”,就是一个普通的函数,只不过我们专门用它来生成对象(new 构造函数),这样使用的函数,就是构造函数; 它提供模板,描述对象的基本结构。...this 返回,也就是这个新对象 } 构造函数和实例对象的关系 构造函数是根据具体的事物抽象出来的抽象模板 实例对象是根据抽象的构造函数模板得到的具体实例对象 实例对象由构造函数而来,一个构造函数可以生成很多具体的实例对象...小结 构造函数语法 分析构造函数 构造函数和实例对象的关系 实例的 constructor 属性 instanceof 操作符 构造函数的问题

51910

前端中的函数式编程

前端中的函数式编程 函数式编程出现的时间很早,但在近几年才慢慢在前端中有所表现,个人觉得主要原因在于,前端技术的快速发展虽然足以支持日益复杂的页面交互需求,但我们仍然需要一种能够更好表达交互的范式或者框架...而函数式编程在这方面还是挺适合前端的,列举我觉得最重要的两个点: 前端麻烦的异步问题,可以由函数式编程中的异步计算来解决 声明式编程基本被业界证明是前端UI编程的一种最佳实践方式 当然这些共性问题已经被发现了...,前端领域有很多特性、库或者框架来支持和应用函数式编程。...其实正如第2部分一开始讲的,函数式编程本身的异步处理、声明式等特性是很适合前端开发的,所以才导致前端技术发展过程中,多多少少有点向函数式编程靠近、借鉴的原因。...总结 函数式编程在前端中的应用广泛,在某些语法、框架中实际上都借鉴了函数式编程的思想,但我们可能并没有发觉。从前端目前的发展趋势来看,个人觉得函数式编程的应用还会继续下去,希望大家可以一起关注。

1.4K00

2015节点——思考的一年:IT书单

大体还是四个方向吧: 架构 前端 数据 工程实践 然后就是书单了。。...前端 《WebComponent实战:探索PolymerJS、MozillaBrick、Bosonic与ReactJS框架》 《DOM启蒙》 《Polymer:面向未来的Web组件开发》 《响应式Web...设计性能优化》 《Backbone.js应用程序开发》 《O'Reilly:基于MVC的JavaScriptWeb富应用开发》 《JavaScript框架设计》 《CSS禅意花园(修订版)》 《JavaScript...函数式编程》 《移动应用UI设计模式(第2版)》 《网页设计创意书(卷3)》 架构 《软件架构师的12项修炼(技术技能篇)》 《服务设计模式:SOAP/WSDL与RESTfulWeb服务设计解决方案》...Scala并发编程》 《快学Scala》 《WebKit技术内幕》 《Spring源码深度解析》 《深入理解Java虚拟机:JVM高级特性与最佳实践(第2版)》 《Lucene实战(第2版)》 《Java8函数式编程

1.1K100

前端入门12-JavaScript语法之函数声明正文-函数

本系列文章内容全部梳理自以下几个来源: 《JavaScript权威指南》 MDN web docs Github:smyhvae/web Github:goddyZhao/Translation/JavaScript 作为一个前端小白...正文-函数 在 JavaScript 里用 function 声明的就是函数函数本质上也是一个对象,不同的函数调用方式有着不同的用途,下面就来讲讲函数。...这是因为,通常用来当做构造函数就很少会再以普通函数形式使用它。 函数定义 函数的定义大体上包含以下几部分:function 关键字、函数对象的变量标识符、形参列表、函数体、返回语句。...借助这个可以获取到自定义的函数名。 嵌套函数 嵌套函数就是在函数体中继续定义函数,需要跟函数的方法定义区别开来。...函数的方法定义,是将函数看成对象,定义它的属性,类型为函数,这个函数只是该函数对象的方法,并不是它的嵌套函数。 而嵌套函数需要在函数体部分再用 function 定义的函数,这些函数称为嵌套函数

51220

前端进阶: 如何用javascript存储函数?

过程中遇到的前端技术问题——javascript函数存储....背景介绍 我们都知道要想搭建一个前端页面基本需要如下3个要素: 元素(UI) 数据(Data) 事件/交互(Event) 在 数据驱动视图 的时代, 这三个要素的关系往往如下图所示: 趣谈前端 可视化搭建平台的设计思路往往也是基于上面的过程展开的...大致流程如下: 趣谈前端 不错, 理想很美好, 但是现实很_______...., 它只接受字符串参数,其可选参数为方法的入参,必填参数为方法体内容, 一个形象的例子: 趣谈前端 我们上述的代码中函数体的内容: new Function(`return ${value.replace...以上方案已经能实现前端存储函数的功能了, 但是为了更工程化和健壮性还需要做很多额外的处理和优化, 这样才能让更多人开箱即用的使用你的库.

1.6K20

前端学习(33)~js学习(十):函数

函数的严格模式 高阶函数函数作为参数传递、函数作为返回值传递 闭包:闭包的作用 递归:递归的两个条件 深拷贝和浅拷贝的区别 函数的介绍 函数:就是将一些功能或语句进行封装,...函数也是一个对象 使用typeof检查一个函数对象时,会返回function 函数的作用: 将大量重复的语句抽取出来,写在函数里,以后需要这些语句的时候,可以直接调用函数,避免重复劳动。...; console.log("welcome"); } 函数的定义/声明 方式一:利用函数关键字自定义函数(命名函数) 使用函数声明来创建一个函数(也就是 function 关键字)。...方式二:函数表达式(匿名函数) 使用函数表达式来创建一个函数。...函数名、函数体和函数加载问题(重要,请记住) 我们要记住:函数名 == 整个函数

59010

前端面试之立即执行函数

什么是立即执行函数 声明一个函数,并马上调用这个匿名函数就叫做立即执行函数。在定义好一个函数后,直接执行。...(function() {alert('立即执行函数')})() 用声明一个函数,用括号包起来,调用此函数。...立即执行函数的写法 有时候,我们定义函数以后,立即调用该函数,这时不能在函数的定义后面直接加圆括号,这会产生语法错误。...{alert('匿名函数')}() void function() {alert('匿名函数')}() new function() {alert('匿名函数')}() 立即执行函数的作用 1、不必为函数命名...立即执行函数的参数 (function(i) { ... })(j) 如果立即执行函数中需要全局变量,全局变量会被作为一个参数传递给立即执行函数。j代表是实参,i代表的是执行函数的形参。

1.6K10

前端性能优化之:函数防抖与函数节流

前言 函数防抖和函数节流是在前端性能优化中老生常谈的话题,也是各位前端的童鞋必须要掌握的性能优化手段。...今天胡哥为大家分享函数防抖和函数节流的相关原理以及具体实践场景,希望能够给各位小伙伴在工作中提供相应业务场景的解决方案。...一、函数防抖 概念: 如在窗口resize、input输入、textarea输入等操作时,为避免性能浪费,额外无意义执行相关函数处理,需检测用户是否已操作完毕。...规则: 未完成操作时不执行相关函数处理 用户完成操作后,执行相关函数处理 案例:百度搜索推荐-根据用户的输入推荐相关搜索建议 一般思路: 监听input的input事件,用户输入数据即立刻执行查询查询...京东开放平台首席前端攻城狮。与你一起聊聊大前端,分享前端系统架构,框架实现原理,最新最高效的技术实践!

56520

前端进阶JS函数增强与对象增强

JS函数增强 函数属性 JavaScript中函数也是一个对象,那么对象中就可以有属性和方法,他有一些默认的属性 name 函数名 length 函数参数个数(ES6 ......副作用: 执行函数时,除了返回函数值之外,还对调用函数产生了附加的影响,比如修改了全局变量,修改参数或者改变外部的存储 纯函数的理解 输入 相同值的时候产生同样的输出 所以纯函数不能通过闭包的特性调用上层属性...,因为会随着上层属性变化函数输出内容 函数的输出和输入值以外的信息无关和设备的外部输出也无关 这个函数不能有语义上可观察到的 “副作用” 纯函数辨别案例 slice:slice截取数组时不会对原数组进行任何操作...,他是一个作用于函数的高阶技术,在其他的编程语言也有使用 只传递函数部分参数来调用,让它返回一个函数去处理剩余的参数这个过程就被成为柯里化 // 普通的函数 function foo(x,...组合函数理解和应用 当我们需要嵌套调用两个函数的时候,为了方便复用,我们可以写一个组合函数 var sum = pow(double(12)) 我们可以编写一个通用的组合函数来让我们使用组合函数更加的便捷

60430

前端必知道的几个 JavaScript 高级函数

高阶函数是对其他函数进行操作的函数,可以将它们作为参数或通过返回它们。简单来说,高阶函数是一个函数,它接收函数作为参数或将函数作为输出返回。...尾调用和尾递归 尾调用(Tail Call)是函数式编程的一个重要概念,本身非常简单,一句话就能说清楚。就是指某个函数的最后一步是调用另一个函数。...上面代码中,函数 f 的最后一步是调用函数 g,这就是尾调用。尾调用不一定出现在函数尾部,只要是最后一步操作即可。 函数调用自身,称为递归。如果尾调用自身,就称为尾递归。...所谓柯里化就是把具有较多参数的函数转换成具有较少参数的函数的过程。...compose 就是组合函数,将子函数串联起来执行,一个函数的输出结果是另一个函数的输入参数,一旦第一个函数开始执行,会像多米诺骨牌一样推导执行后续函数

27330

前端Tips#5 - 将异步函数 promise 化

本期学习一则代码片段,用于 将异步函数 promise 化 1、代码片段 先给出代码片段源码: const promisify = func => (...args) => new Promise...; 2、对所要转化的异步函数是有要求的 上述工具代码片段 对所要转化的异步函数是有要求的: 异步函数 最后一个入参 必须是回调函数(callback) 该 callback 的入参形式为 (err,...写过 Node.js 程序的人都知道,异步操作是 Node.js 中非常常见的操作,所以很有必要提取出将异步函数 promisify 的操作工具函数。...其次,在 Node 中异步回调有一个约定:Error first,也就是说 回调函数中的第一个参数一定要是 Error 对象,其余参数才是正确时的数据。...4、扩展 promisify 适用函数 上述的 promisify 工具函数对入参有条件,那如何扩展到任意异步函数呢?

98620
领券