本期技术周刊小编给大家看点关于 JavaScript 的芝士!
文章推荐
最近收到需求,需要开发一些针对业务特定公共逻辑部分使用的 JavaScript 函数(类似于开发一个公共 SDK),统一维护,同时供各业务部门的前端开发人员进行复用。
为了满足公共库开发调试简单、易用性与健壮性等需求,需要满足以下要求:支持 TypeScript;
支持输出多种模块化文件(UMD、CommonJS、ESM 等),便于引入使用;
支持按需加载(ESM Tree Shaking);
支持自动化测试;
......
你如何确定一个JavaScript原生函数是否被覆盖? 你不能--或者至少无法可靠地确定。有一些检测方法很接近,但你不能完全相信它们。
开始的时候我们都设置了一个打卡闹铃,下班后准时提醒,但有的时候加班,加完班回家又忘记打卡了。还有的时候迷之自信的以为自己打卡了,第二天看考勤记录发现没打卡。
为了彻底解决这个问题,守住我们的钱袋子,我开发了一款打卡提醒工具,让全组连续三个月全勤!
下面介绍一下,这个小工具是如何实现的。
对于前端的各位工程师,肯定不会对 console 陌生,但是,你又能了解多少呢,今天就让小鹏来一窥大前世界。
Chrome 控制台-开发者工具
windows 按F12, MAC 按 Command + Option + C 或 Command + Option + J, 即可打开控制台
JavaScript 对象可以从一个称为原型的对象里继承属性。对象的方法通常是继承的属性。这种”原型式继承“(prototypal inheritance)是 JavaScript 的核心特征
可以看下这个例子var johan = { name: 'johan' }; console.dir(johan);
JavaScript 异步函数的 Promisification 处理
Promisification 是一个很长的词,表示一个编程范式的转变,即将接受回调的函数转换为一个返回类型为 Promise 的函数。
我们现实的开发项目中经常需要这种转换,因为许多函数和库都是基于回调的,但是 Promise 更方便,所以对它们进行 Promisification 处理是有意义的。
三维坐标理论上三个分量就够了,但在看相关程序的时候,发现会出现 4 个分量,这种表示方式称为齐次坐标,它将一个原本 n 维向量用一个 n+1 维向量表示。比如向量 (x, y, z) 的齐次坐标可表示为 (x, y, z, w)。这样表示有利于使用矩阵运算将一个点集从一个坐标系转换到另一个坐标系。齐次坐标 (x, y, z, w) 等价于三维坐标 (x/w, y/w, z/w) 。
作为前端开发工程师,JavaScript 是我们的主要开发语言,它本身语法比较简单,并且生态系统也非常完善,在社区的影响力越来越大。
在我们使用过程中,经常会遇到各种奇怪的问题,让我们经常摸不着头脑。
本文灵感来自 wtfjs,整理了 6 个比较常见并且很有意思的问题。
原理其实非常简单,可以分为以下几个步骤
检测输入的内容,如果是以上标点符号就下一步
根据输入的标点,自动补全与之对应的后半部分
将光标移到两个标点之间
是不是非常好理解呢?但是,里面的细节远不止这些,涉及到非常多的比较生僻的原生方法,一起看看如何实现的吧
问答推荐
- js 怎么实现一个一个发送请求,连续发送几十次?
- js 基础问题--作用域?导致两次结果不一样的原因是什么?
- javascript 判断数据类型时,重写 Object.prototype.toString?
- js 中嵌套函数,内部函数怎么结束外部函数的调用?
- js 选出数组未选中的元素?
- js 如何匹配以下正则字符串?
- js 如何使用正则表达式解析 html 文本?
- js 如何写一个函数,参数为多个请求地址,在函数内部依次发起请求,最后返回所有请求的状态?
- js 如何优雅的获取对象中一个未知的属性值?
- 如何用 javascript 位运算实现一个大数组的快速筛选?
# SegmentFault 技术周刊 #
「技术周刊」是社区特别推出的技术内容系列,一周一主题。
每周二更新,欢迎「关注」。大家也可以在评论处留言自己感兴趣的主题,推荐主题相关的优秀文章。
如有问题可以添加小姐姐微信~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。