关于javascript:SegmentFault-思否技术周刊-JavaScript-的那些事

42次阅读

共计 3345 个字符,预计需要花费 9 分钟才能阅读完成。

JavaScript 是一门基于原型、头等函数的语言,是一门多范式的语言,它反对面向对象程式設計,指令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不反对 I/O,比方网络、存储和图形等,但这些都能够由它的宿主环境提供反对。

常识进阶

《JS 阻塞渲染,这么多年我了解错啦?》

在中文社区,这么多年始终流传一个说法:JS 线程负责执行 JS,GUI 渲染线程负责渲染,这两者是互斥的,所以 JS 执行时会阻塞渲染。

但随着 Dev Tools 应用的增多,逐步开始狐疑以上说法。本文会以理论案例来解释为什么 JS 阻塞渲染。

《JavaScript 之原型、原型链》

其余编程语言如 Java 等应用 new 命令时,都会调用“类”的构造函数。然而,JavaScript 没有“类”,自身并不提供一个 class 实现(尽管在 ES6 中提供了 class 关键字,但其只是语法糖,JavaScript 依然是基于原型的)。于是,JavaScript 作了一个简化的思维,new 命令前面跟的不是类,而是构造函数,用构造函数生成实例对象,但其毛病是无奈共享属性和办法。于是,就为构造函数设置了一个 prototype 属性,这个属性蕴含一个对象(prototype 对象)。所有实例对象须要共享的属性和办法都放在这个对象里,那些不须要共享的属性和办法就放在构造函数里。

《JavaScript Promise 的了解和应用》

什么是 Promise?
Promise 怎么用?

《5 个肯定要学会的 JavaScript 新个性》

JavaScript 在一直地降级迭代,越来越多的新个性让咱们的代码写起来变得简洁乏味,这篇文章会介绍 5 个新个性,一起钻研一下吧。

《你可能不理解的 Promise 微工作类型》

ECMA 标准中把 Promise 微工作分成了 NewPromiseReactionJob 和 NewPromiseResolveThenableJob 两种类型,上面联合标准来别离看下这两种微工作的产生机会和执行内容。

《JavaScript 闭包》

在 JavaScript 中闭包形容的是 function 中外层作用域的变量被内层作用域援用的场景,闭包的构造为内层作用域保留了外层作用域的变量。

本文将带你用正确姿态对待 JavaScript 闭包。

《JavaScript 内存透露》

在传统的网页开发时无需过多思考内存治理,通常也不会产生重大的结果。因为当用户点击链接关上新页面或者刷新页面,页面内的信息就会从内存中清理掉。

随着 SPA(Single Page Application)利用的增多,迫使咱们在编码时须要更多的关注内存。因为如果利用应用的内存逐步增多会间接影响到网页的性能,甚至导致浏览器标签页解体。

这篇文章,咱们将钻研 JavaScript 编码导致内存透露的场景,提供一些内存治理的倡议。

《JS 中的块作用域和遮蔽效应》

JS 中的代码块是什么?
块级作用域是什么?
遮蔽效应是什么?
非法遮蔽是什么?
块级作用域和词法作用域

利用实际

《js 生成 UUID 的几种办法》

UUID(Universally Unique IDentifier) 全局惟一标识符。
UUID 是一种由算法生成的二进制长度为 128 位的数字标识符。UUID
的格局为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,其中的 x 是 0-9 或 a-f
范畴内的一个 32 位十六进制数。在现实状况下,任何计算机和计算机集群都不会生成两个雷同的 UUID。

《js 数组去重常见的七种办法》

filter() 办法创立一个新的数组,新数组中的元素是通过查看指定数组中符合条件的所有元素。item 是以后元素的值,index 是以后元素的索引值。indexOf() 办法可返回某个指定的字符串值在字符串中首次呈现的地位。利用 indexOf() 查问到数组的下标,看是否等于以后的下标,相等的话就返回,否则不返回值。

《JavaScript 深拷贝的几种办法》

浅拷贝是创立一个新对象,这个对象有着原始对象属性值的拷贝。如果属性是根本类型,拷贝的就是根本类型的值,如果属性是援用类型,拷贝的是内存地址。如果不进行深拷贝,其中一个对象扭转了对象的值,就会影响到另一个对象的值。
深拷贝是将一个对象从内存中残缺的拷贝一份进去, 从堆内存中开拓一个新的区域寄存新对象, 且批改新对象不会影响原对象。

《js 数据类型转换的几种形式》

强制类型转换 String(),toString() 转字符串类型
字符串转数值类型 Number parseInt()
字符串转数组 split,数组转字符串 join
…….

《JavaScript 的几种继承形式》

JavaScript 的几种继承形式
原型链继承
借助构造函数继承(经典继承)
组合继承:原型链 + 借用构造函数(最罕用)
原型式继承(Object.create)
寄生式继承
寄生组合式继承(最现实)
ES6 中的继承

《让你事倍功半的 JS utils 工具函数》

今日分享一篇积攒和收集了很久的 JS utils 工具函数,文章代码量较多,倡议珍藏起来缓缓看,当哪一天须要用到的时候,关上你尘封已久的收藏夹,置信能让你的业务代码开发事倍功半。
会集了工夫相干,DOM 相干,URL 相干,判断相干,图片相干,缓存相干等。局部逻辑解决较为简单,如果是业务量较为简单的状况倡议要斟酌应用,但对于大部分的我的项目应该是入不敷出。接下来就进入代码局部吧~

《2022 年的 JavaScript 开发工具》

编译器负责将输出代码转换为某种指标输入格局。出于咱们的目标,咱们关注的是那些反对将古代 JavaScript 和 TypeScript 转换成特定版本的 ECMAscript 的编译器,这些 ECMAscript 兼容浏览器和最新版本的 Node.js。

《手动实现一个 JS 执行引擎》

反对解析 js 脚本生成语法树、格式化代码
反对运行残缺 js 脚本
反对平安模式运行单行表达式
反对设置超时工夫

《js 获取页面尺寸》

在大多数状况下,document.documentElement.clientWidth 都能返回正确的值, 但在 IE6 的 quirks 模式中,document.body.clientWidth 返回正确的值,所以要做兼容解决。另外 clientWidth 和 clientHeight 都是只读属性,不能对它们赋值。

面试真题

《js 面试题 (根底) 梳理》

JavaScript 有几种数据类型?
JavaScript 最大平安数字与最小平安数字?
深拷贝与浅拷贝的区别?
闭包是什么?

《js 面试题 (进阶) 梳理》

undeclared 与 undefined 的区别?
let & const 与 var 的区别?
获取 DOM 元素有哪些办法?
操作 DOM 元素有哪些办法

热门问答

  • js 怎么获取节点下所有子节点的文本并存到数组中?
  • js 实现文本压缩能够采纳什么办法?
  • 如何用 js 实现 java 中 int 强制转换为 byte 类型, 即(byte)
  • js 递归批改树状构造
  • js 双存循环如何疾速高效判断数组外面的条件是否满足
  • js 如何获取今日开始工夫戳和完结工夫戳
  • js 如何把内存循环外面的字段提出来拼接外层循环的字段
  • js 如何判断数组里对象的 value 是否有反复

课程举荐

《前端大数据可视化实战》

置信从事前端开发人员还是对于 html,css,javascript,Browser 等等有肯定意识理解的。然而理解的水平如何呢? 晓得含意? 简略 / 纯熟应用? 深入研究?
请大家试着答复我上面几个问题:

页面编写是否更多还停留在 div 套 div ? 款式编写更多还是宽,高,定位?
JavaScript 是否深刻理解过? javascript 为什么是单线程呢?(设计初衷? 受限起因?)
JavaScript 在 Browser (浏览器)中如何运行的? 如何编译的?(预编译? 即时编译?)
在前端畛域内本人是否有专一的一个方向? 或者说是找工作的杀手锏?

试着解答过后或者后果并不是那么现实,后果如何没有太大关系,集体认为有问题不可怕, 及时发现问题就是好的后果。对于每个人来说都不是万能的, 是须要时刻学习, 时刻提高的。

课程播种:

  • 把握一项随处可见、日益减少的技术需要
  • 晋升本身技术,拓宽前端视线
  • 增强硬实力,把握降职机会
  • 基于计算机底层,向前端架构迈进

PS:大家想看哪些方面的技术内容,能够在评论区留言喔 ~
如有问题能够增加小姐姐微信~

正文完
 0