闭包函数

Javascript之对象的继承

二次信任 提交于 2019-11-27 04:36:01
前言 本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典、很有代表性。上面没有答案,我就整理了一下,从网上找了一些相关问题的答案。里面有一部分问题的答案我也没有进行考证,不少答案都来源于网络,或许会有疏漏之处,仅供大家参考哦!(还有一部分问题答案还未整理,大家也可以自己搜索一下答案) 1.你能描述一下渐进增强和优雅降级之间的不同吗? 优雅降级:Web站点在所有新式浏览器中都能正常工作,如果用户使用的是老式浏览器,则代码会检查以确认它们是否能正常工作。由于IE独特的盒模型布局问题,针对不同版本的IE的hack实践过优雅降级了,为那些无法支持功能的浏览器增加候选方案,使之在旧式浏览器上以某种形式降级体验却不至于完全失效. 渐进增强:从被所有浏览器支持的基本功能开始,逐步地添加那些只有新式浏览器才支持的功能,向页面增加无害于基础浏览器的额外样式和功能的。当浏览器支持时,它们会自动地呈现出来并发挥作用。 2.线程与进程的区别 一个程序至少有一个进程,一个进程至少有一个线程。线程的划分尺度小于进程,使得多线程程序的并发性高。 另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。 线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中

一个简单的Javascript闭包示例

为君一笑 提交于 2019-11-27 04:09:44
// =====用闭包实现函数的Curry化===== // 数字求和函数的函数生成器 function addGenerator( num ){ // 返回一个简单的匿名函数,求两个数的和,其中第一个数字来自于函数生成器 return function ( toAdd ){ return num + toAdd; } } // addFive是一个求5加上一个参数的和的函数 var addFive = addGenerator( 5 ); alert(addFive( 5 ) == 10); // true 转载于:https://www.cnblogs.com/ivan0626/p/4162759.html 来源: https://blog.csdn.net/weixin_30340353/article/details/99358726

防抖、节流、闭包的真谛所在

£可爱£侵袭症+ 提交于 2019-11-26 17:44:09
哈哈,我也是一个标题党,今天想总结一下,今天学到的东西,便于今后复习拿出来看。 首先呢,防抖是什么? 防抖: 持续触发事件时,一定时间段内没有再触发事件,事件处理函数才会执行一次,如果设定的时间到来之前,又一次触发了事件,就重新开始延时。 定义比较难懂,举一个比较贴切的例子就是 ,坐电梯。 每次电梯开门时就会停留10s钟等待乘客,当10s中结束后,电梯会自动关门,但如果这时又有乘客进入,则电梯又会等待10s。没错,这就是防抖的定义。 再来介绍一个防抖的应用场景:     例如:使用百度搜索学习资源时,当向输入框输入 搜索词 后,才会在搜索框推荐与你搜索词相关的字词。而不是你每输入一个字就推荐一下。 函数防抖就是解决实时搜索(kepup)、拖拽(mousemove)等问题的。 可见,每次触发事件都会执行回调函数,现在加入防抖处理: var debounce = function(func, delay) { var timer = null return function() { var that = this; var args = arguments; if(timer) { clearTimeout(timer); } timer = setTimeout(function() { func.apply(that, args); }, delay) } } ipt