摘要:为此决定自研一个富文本编辑器。例如当要转化的对象有环存在时子节点属性赋值了父节点的引用,为了关于函数式编程的思考作者李英杰,美团金融前端团队成员。只有正确使用作用域,才能使用优秀的设计模式,帮助你规避副作用。
JavaScript 专题之惰性函数
JavaScript 专题系列第十五篇,讲解惰性函数 需求 我们现在需要写一个 foo 函数,这个函数返回首次调用时的 Date 对象,注意是首次。 解决一:普通方法 var t; function foo() { if (t) return t; t = new Date()…
原文发表在: holmeshe.me , 本文是汉化重制版。本系列在 Medium和掘金上同步连载。还记得早先用ajax胡乱做项目的时候踩过好多坑,然后对JS留下了“非常诡异”的印象。最近换了一个工作,工作语言就是JS。然后发现这个语言真不得了,前面后面都能干,基本成了全栈的同义…
placeholder属性给予了用户很友好的提示,但是在老版本的浏览器中就不会起作用(Internet Explorer 9 及之前的版本不支持 placeholder 属性),这是一个很头疼的问题,于是就产生了一些思考。
试一下自己撸一个图片懒加载... 懒加载其实就是延迟加载,是一种对网页性能优化的方式,比如当访问一个页面的时候,优先显示可视区域的图片而不一次性加载所有图片,当需要显示的时候再发送图片请求,避免打开网页时加载过多资源。 当页面中需要一次性载入很多图片的时候,往往都是需要用懒加载…
「几天前我在一个专题讨论会讲 JavaScript,午饭时候一个学员跑来向我请教一个 JS 难题,而它确实把我给难住了。他保证说这个问题是偶然间遇到的,而我对此表示怀疑,因为这极有可能是一道有意而为之的烧脑题。」
面试经常问,你还不看看?
JavaScript工作机制:第1部分
一、 一道面试题 前段时间面试,考察比较多的是js异步编程方面的相关知识点,如今,正好轮到自己分享技术,所以想把js异步编程学习下,做个总结。 下面这个demo 概括了大多数面试过程中遇到的问题: for(var i = 0; i < 3; i++) { setTimeout(f…
普及:浏览器的兼容性问题,往往是个别浏览器(没错,就是那个与众不同的浏览器)对于一些标准的定义不一致导致的。俗话说:没有IE就没有伤害。 贴士:内容都是自己总结的,不免会出现错误或者bug,欢迎更正和补充,本帖也会不断更新。 Normalize.css 不同浏览器的默认样式存在差…
前言 在Es6之前,由于javascript没有对类的支持,也就是说它并不具备如传统后台语言(比如java)拥有类的功能,所谓类就是用来描述事物中的属性和行为的,类的特征是由成员组成的,而属性对应的就是类中的成员变量,而方法对应的就是类中的成员方法,这是传统oop语言的描述,然…
作者:李英杰,美团金融前端团队成员。欢迎大家一起来探讨FP 题外话:只是单纯地谈谈个人对函数式编程的理解,欢迎大家来一起探讨。也不会提及高阶函数与范畴学的内容,只聊一些很入门的问题。函数式编程的优点这里也不做过多说明,会推荐大家看几篇文章,里面有很好的阐述。 斜体灰字部分是一些…
在这篇文章里,我会深入地探讨 JavaScript 中最基本概念之一,那就是执行上下文。通过这篇文章,你应该能够清楚地了解到 JS 解释器究竟在干嘛,为什么可以在一些函数和变量声明之前就能使用,以及它们的值是怎样被决定的。
在JavaScript开发中有一些有意思的小技巧和方法,本文记录了一些我工作中遇到的一些技巧和方法。
原文发表在: holmeshe.me , 本文是汉化重制版。 本系列在 Medium上同步连载。 简单来讲,异步有两层含义,1)让慢操作不要阻塞;2)非线性触发事件。稍稍讲深一点,在操作系统里,事件也叫中断,这里一次中断可以代表一个网络收包,一次时钟,或者一次鼠标点击,等。那从…
当执行 JS 代码时,会生成执行环境,只要代码不是写在函数中的,就是在全局执行环境中,函数中的代码会产生函数执行环境,只此两种执行环境。 想必以上的输出大家肯定都已经明白了,这是因为函数和变量提升的原因。通常提升的解释是说将声明的代码移动到了顶部,这其实没有什么错误,便于大家理…
一、功能模块 先看下现在做完的效果: 效果图 线上体验:https://wj704.github.io/five_...:1.人机对战功能2.悔棋功能3.撤销悔棋功能 二、代码详解 2.1 人机对战功能实现 从效果图可以看到,棋盘的横竖可以放的位置为1…
能够读懂这篇博客的 JavaScript 开发者,运气不会太差...
点进来你会发现新世界。
原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTML 最坚实的梁柱;分享,是 CSS 里最闪耀的一瞥;总结,是 JavaScript 中最严…
不打算考虑兼容性,所以没有必要采用UEditor这么重的插件。为此决定自研一个富文本编辑器。本文,主要介绍如何实现富文本编辑器,和解决一些不同浏览器和设备之间的bug。
进入测试阶段 ~~~ (利用console.time 和 console.Endtime)看看执行时间.....
这个问题看似很基础,但是有很多的实现方式,你知道的有多少呢,网上也有很多的方法,下面就来总结一下 中间变量(临时变量) 使用加减(针对数字) 对象和数组 万能法(运用运算符优先级) ES6的解构赋值 什么是解构赋值?
解构赋值允许你使用类似数组或对象字面量的语法将数组和对象的属…
什么是响应式?响应式的页面在不同的屏幕有不同的布局,换句话说,使用相同的html在不同的分辨率有不同的排版。如下图所示: 响应式布局是为了解决适配的问题,传统的开发方式是PC端开发一套,手机端再开发一套,而使用响应式布局只要开发一套就好了。因为它是用的同样html,所以它的JS…
对 video 除了基本的 api 的了解,还需要做好对应的兼容性。Chrome 最早在 11年开始了对于 video 的支持,不同的浏览器当时对于格式支持也是不同...
阿里前端笔试题,题目不多,难度也不大,我只记录了两道稍微有点难度的编程题。题目如下: 1.JSON.stringify 的功能是,将一个 JavaScript 字面量对象转化为一个 JSON 格式的字符串。例如 当要转化的对象有“环”存在时(子节点属性赋值了父节点的引用),为了…
作者:李英杰,美团金融前端团队成员。欢迎大家一起来探讨FP 题外话:只是单纯地谈谈个人对函数式编程的理解,欢迎大家来一起探讨。也不会提及高阶函数与范畴学的内容,只聊一些很入门的问题。函数式编程的优点这里也不做过多说明,会推荐大家看几篇文章,里面有很好的阐述。 斜体灰字部分是一些…
有很多种方式可以将字符串转为数字。我能想到的方式就至少有5种!
该使用哪种方式?什么时候?为什么?这得分析每一种方式和使用它们时常见的陷阱。
根据 JsPerf.com 上的 benchmarks 一组测试表明,大多数浏览器都对 ParseInt 做过优化。虽然它可能是最快的一…
原文地址:Functional-Light-JS 原文作者:Kyle Simpson - 《You-Dont-Know-JS》作者 关于译者:这是一个流淌着沪江血液的纯粹工程:认真,是 HTML 最坚实的梁柱;分享,是 CSS 里最闪耀的一瞥;总结,是 JavaScript 中…
1、浏览器的内核是多线程的,它们在内核控制下相互配合以保持同步,一个浏览器通常由以下常驻线程组成:GUI 渲染线程,javascript 引擎线程,浏览器事件触发线程,定时触发器线程,异步 http 请求线程。 GUI 渲染线程:负责渲染浏览器界面 HTML 元素,当界面需要重…
JavaScript 运算符规则与隐式类型转换详解 从属于笔者的现代 JavaScript 开发:语法基础与工程实践系列文章,主要探讨 JavaScript 中令人迷惑的加减乘除与比较等常见运算中的规则与隐式类型转换;本文中涉及的参考资料全部声明在了JavaScript 数据结…
作用域是 中的一个重要而又模糊的概念。只有正确使用 作用域,才能使用优秀的设计模式,帮助你规避副作用。本文中,我们将会详细分析 的不同类型的作用域,以及为了写出更好的代码,介绍它们是如何工作的。
作用域的简单定义是编译器需要变量和函数时去查找它们的地方。听起来很容易对吗?我们来…
技术世界在发展,JavaScript也在同步发展。JavaScript在软件世界建起地盘的头几年,它从没想过涉足服务应用程序、移动端应用程序以及机器人之类业务。今天…
JavaScript 专题系列第十六篇,讲解函数组合,并且使用柯里化和函数组合实现 pointfree 模式 需求 我们需要写一个函数,输入 "kevin",返回 "HELLO, KEVIN"。 尝试 var toUpperCase = function(x) { return…
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/107295.html
摘要:又是一个比较重要的知识点原型。且和指向了同一个对象。可以是使用做什么创建对象的数据共享把一些实例共享的属性和方法放在原型上,节约空间。基于原型链的委托继承这个原型继承的关系可以用图来表示参考资料深入之从原型到原型链强大的原型和原型链 又是一个比较重要的知识点——原型(prototype)。 一个例子 function F() {} var f = new F() F.prototype...
摘要:在创建对象不论是普通对象还是函数对象的时候,都有一个叫做的内置属性,用于指向创建它的构造函数的原型对象,也就是。因为一个普通对象的构造函数所以原型链原型链的形成是真正是靠而非。参考文章最详尽的原型与原型链终极详解,没有可能是。 【前端芝士树】Javascript的原型、原型链以及继承机制 前端的面试中经常会遇到这个问题,自己也是一直似懂非懂,趁这个机会整理一下 0. 为什么会出现原型和...
摘要:基于原型的面向对象在基于原型的语言中如并不存在这种区别它只有对象不论是构造函数,实例,原型本身都是对象。允许动态地向单个的对象或者整个对象集中添加或移除属性。为了解决以上两个问题,提供了构造函数创建对象的方式。 showImg(https://segmentfault.com/img/remote/1460000013229218); 一. 重新认识面向对象 1. JavaScript...
摘要:基于原型的面向对象在基于原型的语言中如并不存在这种区别它只有对象不论是构造函数,实例,原型本身都是对象。允许动态地向单个的对象或者整个对象集中添加或移除属性。为了解决以上两个问题,提供了构造函数创建对象的方式。 showImg(https://segmentfault.com/img/remote/1460000013229218); 一. 重新认识面向对象 1. JavaScript...
摘要:前端日报精选第期正则表达式回溯法原理入门教程众成翻译在中调试入门教程众成翻译框架之战众成翻译中文技术周刊期知乎专栏新特性之命令掘金创建对象的七种方式中的惰性数组介绍众成翻译跟手转动的罗盘指针掘金和简介修仙之路仿音乐移 2017-06-26 前端日报 精选 【第977期】正则表达式回溯法原理npm 入门教程 - 众成翻译在 Chrome DevTools 中调试 JavaScript 入...
阅读 980·2021-09-29 09:35
阅读 4561·2021-09-22 15:24
阅读 1427·2021-07-25 21:37
阅读 2138·2019-08-30 14:17
阅读 889·2019-08-30 13:56
阅读 2319·2019-08-29 17:07
阅读 1102·2019-08-29 12:44
阅读 2685·2019-08-26 18:26