-
你不知道的 JavaScript 错误和调用栈常识
大多数工程师可能并没留意过JS中错误对象、错误堆栈的细节,即使他们每天的日常工作会面临不少的报错,部分同学甚至在console的错误面前一脸懵逼,不知道从何开始排查,如果你对本文讲解的内容有系统...
-
JavaScript 函数式编程中的 curry 实现
最近在学习javascript函数式编程,对其中大名鼎鼎的curry十分感兴趣,curry函数可以接受一个函数,我们暂且称之为原始函数,返回的也是一个函数,柯里化函数,这个返回的柯里化函数功能十分强大,他在执...
-
说说如何用 JavaScript 实现一个模板引擎
前言不知不觉就很长时间没造过什么轮子了,以前一直想自己实现一个模板引擎,只是没付诸于行动,最近终于在业余时间里抽了点时间写了一下.因为我们的项目大部分用的是swig或者nunjucks,于是就想实现...
-
JavaScript 函数式编程中 compose 实现
上一篇文章介绍了javascript函数式编程中curry(柯里化)的实现,当然那个柯里化是有限参数的柯里化,等有机会在补上无限参数的那一种柯里化,这次主要说的是javascript函数式编程中另外一个很重要...
-
JavaScript 中的遍历详解
编程这么多年,要是每次写遍历代码时都用for循环,真心感觉对不起JavaScript语言~对象遍历为了便于对象遍历的测试,我在下面定义了一个测试对象?obj.测试对象//为Object设置三个自定义属性(可枚举...
-
JavaScript 面试中常见算法问题详解
JavaScriptSpecification阐述下JavaScript中的变量提升所谓提升,顾名思义即是JavaScript会将所有的声明提升到当前作用域的顶部.这也就意味着我们可以在某个变量声明前就使用该变量,不过虽然Java...
-
我眼中的 JavaScript 函数式编程
JavaScript函数式编程是一个存在了很久的话题,但似乎从2016年开始,它变得越来越火热.这可能是因为ES6语法对于函数式编程更为友好,也可能是因为诸如RxJS(ReactiveX)等函数式框架的流行.看过许多关...
-
每个前端开发者必会的 20 个 JavaScript 面试题
问题1:JavaScript中?undefined?和?notdefined?的区别JavaScript未声明变量直接使用会抛出异常:varnameisnotdefined,如果没有处理异常,代码就停止运行了.但是,使用typeofundeclared_variable并不...
-
如何编写同时用于 Node 和浏览器的 JavaScript 包
我多次看到大家在这个问题上产生困惑,甚至经验丰富的JavaScript开发者都可能错过它的一些微妙之处.所以我认为应该写这么一个简短的教程.假设有一个JavaScript模块想发布在npm中,它既能在Node中运...
-
JavaScript 排序,不只是冒泡
做编程,排序是个必然的需求.前端也不例外,虽然不多,但是你肯定会遇到.不过说到排序,最容易想到的就是冒泡排序,选择排序,插入排序了.冒泡排序依次比较相邻的两个元素,如果后一个小于前一个,则交换...
-
JavaScript 与 Java、PHP 的比较
本文由码农网–meizaijojo原创翻译,转载请看清文末的转载要求,欢迎参与我们的付费投稿计划! 网站开发的实践从设计方面开始,包括客户端编程语言.大体上说,在网页设计中使用了三种语言:HTML,...
-
JavaScript?SDK?设计指南
原文地址:http://sdk-design.js.org/介绍本指南为您介绍了在台式机和移动网络在不同的平台和浏览器(<99.99%我可能会跳过一些浏览器)开发的JavaScriptSDK,对于那些非浏览器开发的支持(硬件,...
-
JavaScript 深入之从原型到原型链
构造函数创建对象我们先使用构造函数创建一个对象:functionPerson(){}varperson=newPerson();person.name='name';console.log(person.name)//name在这个例子中,Person就是一个构造函数...
-
在 Node.js 中看 JavaScript 的引用
早期学习Node.js的时候(2011-2012),有挺多是从PHP转过来的,当时有部分人对于Node.js编辑完代码需要重启一下表示麻烦(PHP不需要这个过程),于是社区里的朋友就开始提倡使用node-supervisor这个模...
-
JavaScript 创建对象的七种方式
JavaScript创建对象的方式有很多,通过Object构造函数或对象字面量的方式也可以创建单个对象,显然这两种方式会产生大量的重复代码,并不适合量产.接下来介绍七种非常经典的创建对象的方式,他们也各...