摘要:忍者级别的函数操作对于什么是匿名函数,这里就不做过多介绍了。我们需要知道的是,对于而言,匿名函数是一个很重要且具有逻辑性的特性。通常,匿名函数的使用情况是创建一个供以后使用的函数。
JS 中的递归
递归, 递归基础, 斐波那契数列, 使用递归方式深拷贝, 自定义事件添加
本文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我。 不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的几行代码,我们需要知道其输出内容和顺序。因为javascript是一门单线程…
JavaScript深入系列第八篇,介绍理论上的闭包和实践上的闭包,以及从作用域链的角度解析经典的闭包题。 定义 MDN 对闭包的定义为: 闭包是指那些能够访问自由变量的函数。 那什么是自由变量呢? 自由变量是指在函数中使用的,但既不是函数参数也不是函数的局部变量的变量。 由此…
当然我们可以用一个通俗的说法:设计模式是解决某个特定场景下对某种问题的解决方案。因此,当我们遇到合适的场景时,我们可能会条件反射一样自然而然想到符合这种场景的设计模式。 比如,当系统中某个接口的结构已经无法满足我们现在的业务需求,但又不能改动这个接口,因为可能原来的系统很多功能…
GitHub 上经典文章《You Don"t Need jQuery》的翻译版。在文章中,作者总结了大部分 jQuery API 替代的方法,提倡我们使用原生的 JavaScript . 前端 er,一起来看看。
写在前面: 现在一直使用sass写css,当初入门的时候,看的很多教程,当时看的云里雾里的,现在看来还是蛮详细的,就是一点,不够小白。本人文章类型一直比较偏小白的,想要更好的为不会用sass提供一点学习的资料,相信本文对想要学习sass的人,还是有极大的参考价值的。里面有些细节…
前一阵子记录了promise的一些常规用法,这篇文章再深入一个层次,来分析分析promise的这种规则机制是如何实现的。ps:本文适合已经对promise的用法有所了解的人阅读,如果对其用法还不是太了解,可以移步我的上一篇博文。 为了让大家更容易理解,我们从一个场景开始讲解,让…
莫装逼、白了少年头,2333。。。
学习正则表达式,是需要懂点儿匹配原理的。而研究匹配原理时,有两个字出现的频率比较高:“回溯”。听起来挺高大上,确实还有很多人对此不明不白的。因此,本文就简单扼要地说清楚回溯到底是什么东西。
JavaScript 专题系列是我写的第二个系列,第一个系列是 JavaScript 深入系列。 JavaScript 专题系列共计 20 篇,主要研究日常开发中一些功能点的实现,比如防抖、节流、去重、类型判断、拷贝、最值、扁平、柯里、递归、乱序、排序等,特点是研(chao)究…
写在前面: 本文都是我目前学到的一些比较零碎的知识点,也是相对偏一点的知识,这是第二篇。前后可能没有太大的相关性,需要的朋友可以过来参考下,喜欢的可以点个赞,希望对大家有所帮助。本文的受众是刚学前端,大手子可以跳过。 1.页面加载完成之后,才开始执行函数。 $(function…
对于什么是匿名函数,这里就不做过多介绍了。我们需要知道的是,对于JavaScript而言,匿名函数是一个很重要且具有逻辑性的特性。通常,匿名函数的使用情况是:创建一个供以后使用的函数。 上面的一个代码片段我就不做过多无用解释了,比较常规。 递归,说白了,就是自己调用自己,或者调…
优先使用 ===,而不是 ==
2.Eval 就是糟糕的代名词
不要懒手
使用 JS Lint
将脚本置于页面的底部
在 For 语句之外声明变量
构建字符串的最快方式
减少全局变量
注释你的代码
拥抱渐进增强
……
Michael Wanyoike:This really is a must read for any JavaScript-based developer.(翻译字符转码,部分代码示例请看原文)
原为地址:https://www.sitepoint.com/sho...
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编写真正工程化;设计模式是软件工程的基石…
数组去重,这是一个老梗了...今天我又拿出来说了...
主要是针对前端同学,将一些常见的算法和数据结构用 JavaScript 去实现,起到一个抛砖引玉的作用
当执行 JS 代码时,会生成执行环境,只要代码不是写在函数中的,就是在全局执行环境中,函数中的代码会产生函数执行环境,只此两种执行环境。 想必以上的输出大家肯定都已经明白了,这是因为函数和变量提升的原因。通常提升的解释是说将声明的代码移动到了顶部,这其实没有什么错误,便于大家理…
什么是异步,异步的实现原理,event-loop,以及和事件绑定的关系。
同步:一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息,那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去。 异步:进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态。当有消息返回时系统会通知进程进行处理,这样可以提高执行的效率。 进程:狭…
前几天,用es6的语法重写了我的一个代码库,说是重写,其实改动的并不多,工作量不大。在重写完了的时候,就个人总结了一下es6常用的一些常用的语法和比es5优越的方面。下面提到的语法可能也就是es6新特性的10%-20%,但是开发上占了80%左右的。下面的文章,按照es6常用新特…
作为战斗在业务一线的前端,要想少加班,就要想办法提高工作效率。这里提一个小点,我们在业务开发过程中,经常会重复用到日期格式化、url参数转对象、浏览器类型判断、节流函数等一类函数,这些工具类函数,基本上在每个项目都会用到,为避免不同项目多次复制粘贴的麻烦,我们可以统一封装,发布…
Js运行机制深层剖析 这篇文章对事件循环机制的叙述基本是清楚的,但是并没有剥离出 Js 本身合宿主的部分。在此之前,我们对 Js 的讨论多是(默认)基于浏览器,不剥离似乎也不会有什么影响,时至今日,倘若要将我们的 Js 能力扩展到后台 Node、RN/Weex 端,剥离对待,将…
日常开发中,我们经常用到this。例如用Jquery绑定事件时,this指向触发事件的DOM元素;编写Vue、React组件时,this指向组件本身。对于新手来说,常会用一种意会的感觉去判断this的指向。以至于当遇到复杂的函数调用时,就分不清this的真正指向。 本文将通过两道…
从__proto__和prototype这两个比较难分辨的属性入手理解继承和原型链。
能够读懂这篇博客的 JavaScript 开发者,运气不会太差...
近几年来,在移动端上因原生开发成本高和效率低而导致涌现出来的一大批优秀前端框架,以及专门针对移动端设备的前端开发框架(如 RN/Weex),大前端的概念被不断地提及。在这样的背景之下,前端技术也将逐渐成为移动端开发者的必备技能。笔者作为一名移动端开发者,在接触了前端开发之后,发…
有个问题可能曾经、甚至现在仍旧让一部分人十分困惑。
我们用 JS 执行一个及其的简单的运算,如:0.1 + 0.2,会得到一个非常意想不到的结果:0.30000000000000004。
虽然结果相差无几,但是作为技术人员,这绝对不可以忽略,理由如下:
万一和 money 有关呢?
万一你的代码里有类似 if (0.1 + 0.2 == 0.15 + 0.15) 的逻辑呢?你猜猜结果如你预期么
或者,
万一你就是个处女座呢?
可能大部分人都会在一些论坛上寻求帮助,并且得到有很多方法可以帮助其解决问题。
但是这里我会尝试分析一下其中的根本原因以及解决办法。
对于初学者来说,区别"nth-child"和"nth-of-type"是一个比较头疼的问题,为了更好帮助大家区别两者使用方法,特在此加以区分。
为了正在写的这本书(译者注:这本书是《忍者秘籍》),我最近做了许多关于JavaScript继承的工作,并在此基础上研究了几种不同的JavaScript经典继承模拟技术。在我所有看过的研究中,我最推崇的是base2和Prototype这两个库的实现。 我想要提取这些技术的精华,以…
1.Promise的立即执行性 var p = new Promise(function(resolve, reject){ console.log("create a promise"); resolve("success"); }); console.log("after n…
JavaScript 迷之 this 总结
本文来源于多年的 JavaScript 编码技术经验,适合所有正在使用 JavaScript 编程的开发人员阅读。目的在于帮助大家更加熟练的运用 JavaScript 语言来进行开发工作。
进入测试阶段 ~~~ (利用console.time 和 console.Endtime)看看执行时间.....
亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣。 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准。 关于正则表达式的教程,网上也有很多,相信你也看了一些。 与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高。 本文内容共…
本文首发于CSDN网站,下面的版本又经过进一步的修订。 关于 我的博客:louis blog SF专栏:路易斯前端深度课 原文链接:【深度长文】JavaScript数组全解密 全文共13k+字,系统讲解了JavaScript数组的各种特性和API。 数组是一种非常重要的数据类型…
-- 作者 谢恩铭 转载请注明出处 内容简介 第一部分第一课:什么是 Web? 第一部分第二课:Web,服务和云 第一部分第三课:Web 的诞生史 第一部分第一课:什么是 Web? 什么是 Web 呢? 这个问题不容易回答。 Web 这个英语单词有好几个意思:[蜘蛛网,网状物; [机] 万维…
关于 我的博客:louis blog SF专栏:路易斯前端深度课 原文链接:JavaScript字符串所有API全解密 本文近 6k 字,读完需 10 分钟。 字符串作为基本的信息交流的桥梁,几乎被所有的编程语言所实现(然而c、c++没有提供)。多数开发者几乎每天都在和字符串打…
我面试过很多同学,其中能把原型继承讲明白的寥寥无几,能把new操作符讲明白的就更少了。希望这篇文章能够解决你的疑惑,带你面试飞起来。原文:详解JS原型链与继承 摘自JavaScript高级程序设计: 继承是OO语言中的一个最为人津津乐道的概念.许多OO语言都支持两种继承方式: …
你真的知道JavaScript吗 JavaScript是一门奇怪的语言,要真正掌握并不容易。废话不多说,来一个快速测试,5道题目,看看你对JavaScript是否真正掌握。准备好了吗?开始咯? 题目 No.1 if (!("a" in window)) { var a = 1…
关于前端跨域的整理
排序算法是面试及笔试中必考点,本文通过动画方式演示,通过实例讲解,最后给出JavaScript版的排序算法
一直以来,我都认为“数据结构”这个术语是令人困惑的。它到底是什么,是“作用于数据的结构”吗?这同样是一个模棱两可的术语。
1W3 千余字,数组的所有方法都在这里了。
工作中总结了一点点儿关于 ES6 常用的小知识。欢迎大家来一起探讨一起学习。
函数节流和函数防抖,两者都是优化高频率执行 js 代码的一种手段。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/90626.html
摘要:跨域请求详解从繁至简前端掘金什么是为什么要用是的一种使用模式,可用于解决主流浏览器的跨域数据访问的问题。异步编程入门道典型的面试题前端掘金在界中,开发人员的需求量一直居高不下。 jsonp 跨域请求详解——从繁至简 - 前端 - 掘金什么是jsonp?为什么要用jsonp?JSONP(JSON with Padding)是JSON的一种使用模式,可用于解决主流浏览器的跨域数据访问的问题...
摘要:我们在可替换的元素上使用,然而把用于在涉及的文档和外部资源之间建立一个关系。属性仅仅嵌入当前资源到当前文档元素定义的位置。 一、webstorm快捷键编写HTML标签的快捷键: 标签名+TAB键(修改格式,格式化代码)快捷键: ctrl+shift+f 【此快捷键在webstorm中无效】(用ctrl+alt+L)同时编写多个相同的标签的快捷键 :标签名*个数+tab键同时编写多行代码...
摘要:虽然容易入门,但是要想深入,还是有些路要走的,今天我们就来聊聊一些比较难理解的知识点。至于的第三种用法请看下面的。如果大家觉得这篇文章还不错,请给予一个赞或者分享给你的好友,如果你有更多好的经验或问题,请在评论中和大家分享一下。 php虽然容易入门,但是要想深入,还是有些路要走的,今天我们就来聊聊php一些比较难理解的知识点。use php从5.3.0开始引入了一个叫作命名空间的新特征...
摘要:进阶期理解中的执行上下文和执行栈进阶期深入之执行上下文栈和变量对象但是今天补充一个知识点某些情况下,调用堆栈中函数调用的数量超出了调用堆栈的实际大小,浏览器会抛出一个错误终止运行。 (关注福利,关注本公众号回复[资料]领取优质前端视频,包括Vue、React、Node源码和实战、面试指导) 本周正式开始前端进阶的第一期,本周的主题是调用堆栈,今天是第3天。 本计划一共28期,每期重点攻...
阅读 3551·2021-09-24 09:48
阅读 1054·2021-09-10 10:51
阅读 3256·2019-08-30 13:03
阅读 3284·2019-08-30 12:51
阅读 1373·2019-08-30 11:22
阅读 1026·2019-08-29 18:38
阅读 2020·2019-08-29 16:41
阅读 3110·2019-08-29 15:32