js
编码博客控
这个作者很懒,什么都没留下…
展开
-
Javascript中的复制粘贴功能
一、基本使用 1.1 API 介绍 复制、剪切、粘贴事件 copy发生复制操作时触发; cut发生剪切操作时触发; paste发生粘贴操作时触发 每个事件都有一个before事件对应:beforecopy、beforecut、beforepaste。这几个before一般不怎么用,所以我们把注意力放在另外三个事件就可以了 触发条件 鼠标右键菜单的复制、粘贴、剪切 ...原创 2019-10-21 20:17:28 · 958 阅读 · 0 评论 -
JavaScript运行机制Event Loop
一、JavaScript是单线程 JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事 假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准? 所以,为了避免复杂性,从一诞生,JavaScript就是单线程,这已经成了这门语言的核心特征,将来也不会改变 为了利用多核CPU的计算能力,HT...原创 2019-10-21 19:50:06 · 104 阅读 · 0 评论 -
JavaScript原型链回顾
一、JS内置对象 所谓的内置对象 指的是:JavaScript本身就自己有的对象 可以直接拿来就用。例如ArrayString等等。JavaScript一共有12内置对象 函数类型(10个) String Number Boolean Array Function Date RegExp Error Object Event 函数类型 有__proto__和p...原创 2019-10-18 16:55:00 · 92 阅读 · 0 评论 -
JavaScript深浅拷贝
一、前言 在js中,变量的类型可以大致分成两种:基本数据类型和引用数据类型,其中基本数据类型指的是简单的数据段,包括: undefined Null Boolean Number String(字符串在一些其他语言中是被当做对象使用的,属于引用类型,但在js里是基本类型) 而引用类型的值指的是可能包含多个值的对象。本质上,是因为基本数据类型保存在栈内存,而引用类型保存在堆内存中。...原创 2019-10-18 16:48:55 · 125 阅读 · 0 评论 -
JavaScript防抖节流原理
一、防抖debounce 你是否在日常开发中遇到一个问题,在滚动事件中需要做个复杂计算或者实现一个按钮的防二次点击操作 这些需求都可以通过函数防抖动来实现。如果在频繁的事件回调中做复杂计算,很有可能导致页面卡顿,不如将多次计算合并为一次计算,只在一个精确点做操作 防抖和节流的作用都是防止函数多次调用。区别在于,假设一个用户一直触发这个函数,且每次触发函数的间隔小于wait,防抖的情况下只会调...原创 2019-10-18 16:44:03 · 114 阅读 · 0 评论 -
web前端进阶篇(一 )JS
1谈谈变量提升 当执行JS代码时,会生成执行环境,只要代码不是写在函数中的,就是在堆栈执行环境中,函数中的代码会产生函数执行环境,仅此两种执行环境。 b() // call b console.log(a) // undefined var a = 'Hello world' function b() { console.log('call b') } 想必高于上述的输出大家肯定都...原创 2019-10-17 19:17:56 · 155 阅读 · 0 评论 -
JavaScript运行机制Event Loop
一、JavaScript是单线程 JavaScript语言的一大特点就是单线程,也就是说,同一个时间只能做一件事 假定JavaScript同时有两个线程,一个线程在某个DOM节点上添加内容,另一个线程删除了这个节点,这时浏览器应该以哪个线程为准? 所以,为了避免复杂性,从一诞生,JavaScript就是单线程,这已经成了这门语言的核心特征,将来也不会改变 为了利用多核CPU的计算能力,HTML5...原创 2019-10-16 17:26:41 · 100 阅读 · 0 评论 -
26个精选的JavaScript面试问题
译者按: 从各个平台精选整理出26道由浅入深的题目助你面试 原文: Top 26 JavaScript Interview Questions I Wish I Knew 译者: Fundebug 为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。 根据Stack Overflow 2018年年度调查报告,JavaScript已经连续6年保持最常用的编程语言的记...原创 2019-10-10 20:13:39 · 102 阅读 · 0 评论 -
Javascript中你必须理解的执行上下文和调用栈
人的一生就是进行尝试,尝试的越多,生活就越美好。 ——爱默生 执行上下文在 JavaScript 是非常重要的基础知识,想要理解 JavaScript 的执行过程,执行上下文 是你必须要掌握的知识。否则只能是知其然不知其所以然。 理解执行上下文有什么好处呢? 它可以帮助你更好的理解代码的执行过程,作用域,闭包等关键知识点。特别是闭包它是 JavaScript 中的一个难点,当你理解了执行上下文...转载 2019-09-30 21:17:51 · 96 阅读 · 0 评论 -
JS中一些重要的api实现, 巩固你的原生JS功底
在面试中,常常会遇到一些手写XXX之类的面试题,因此好好总结一下,对于巩固我们的原生js的基础是非常必要的。 尽管在网上已经有了非常多的总结文章,但在我看来有一个普遍的问题,那就是把原理性的东西过于复杂化了。如果站在面试官的角度,他的目的是在最短的时间内考察出面试者对于JS语言的理解程度,但是在看了网站的诸多总结文章后我发现其中的代码有很大一部分是做意义不大的操作,比如实现一个简单的防抖,只要是核...原创 2019-09-23 20:50:34 · 154 阅读 · 0 评论 -
总结异步编程的六种方式
异步编程 众所周知 JavaScript 是单线程工作,也就是只有一个脚本执行完成后才能执行下一个脚本,两个脚本不能同时执行,如果某个脚本耗时很长,后面的脚本都必须排队等着,会拖延整个程序的执行。以下为几种异步编程方式的总结,希望与君共勉。 回调函数 事件监听 发布订阅模式 Promise Generator (ES6) async (ES7) 异步编程传统的解决方案:回调函数和事件监听 初始...原创 2019-09-23 20:25:17 · 123 阅读 · 0 评论 -
如何写出优雅耐看的JavaScript代码
前言 在我们平时的工作开发中,大多数都是大人协同开发的公共项目;在我们平时开发中代码codeing的时候我们考虑代码的可读性、复用性和扩展性。 干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。 我们从以下几个方面进行探讨: 变量 1、变量命名 一般我们在定义变量是要使用有意义的词汇命令,要做到见面知义 //bad code const yyyymmdstr = moment()....转载 2019-09-22 21:03:33 · 274 阅读 · 0 评论 -
Javascript中的异步
前言 在Javascript这样类型的语言中编程最重要但最常被人误解的部分之一,就是如何控制在一段时间内程序的行为次序.同时,JavaScript中的异步,也经常被人和并行搞混.今天,我们来谈一下JavaScript中的异步. 自JS开始以来,异步编程一直存在.然而,但是大多数JS开发人员从未真正仔细考虑过在程序中如何以及为何出现问题,也没有去探索各种其他处理方法。 比较好的方法一直是稀里糊涂的使...转载 2019-09-22 20:50:23 · 69 阅读 · 0 评论 -
JavaScript异步问题解决方案
1. 前言 JavaScript是一门单线程语言,在执行一些比较耗时的操作(比如常见的Ajax请求)时,为了不阻塞后面代码的执行,往往需要执行异步操作。关于JS的运行机制,大家可以看阮一峰的这篇文章:JavaScript 运行机制详解:再谈Event Loop 如何处理异步操作在一直是个值得关注的问题,我会在这篇文章里介绍几种常见的处理异步函数的解决方案 2. 使用回调函数 如果你有使用过JQue...转载 2019-09-20 15:37:57 · 417 阅读 · 0 评论 -
10分钟了解JS堆、栈以及事件循环的概念
前言 其实一开始对栈、堆的概念特别模糊,只知道好像跟内存有关,又好像事件循环也沾一点边。面试薄荷的时候,面试官正好也问到了这个问题,当时只能大方的承认不会。痛定思痛,回去好好的研究一番。 我们将从 JS的内存机制以及 事件机制和 大量的(例子)来了解栈、堆究竟是个什么玩意。概念比较多,不用死读,所有的心里想一遍,浏览器console看一遍就很清楚了。 let’s go JS内存机制 因为JavaS...转载 2019-09-19 19:49:45 · 155 阅读 · 0 评论