
JavaScript
公众号/头条号:技术很有趣
不仅仅是技术。公众号/头条号:技术很有趣。
展开
-
前端常见应用场景(1):文件上传下载、加密
分片上传参考链接:https://juejin.cn/post/6844903792056467470blob基于二进制流下载原创 2021-08-23 11:03:33 · 426 阅读 · 0 评论 -
JavaScript错误类型
1.Uncaught ReferenceError: b is not defined原因:延作用域链都没有查到变量b的声明。原创 2018-09-20 14:43:57 · 152 阅读 · 0 评论 -
函数式编程与lambda表达式
JavaScriptES6箭头函数数组API:map、filter、reduce、sort等等原创 2018-09-28 11:20:58 · 233 阅读 · 0 评论 -
JS手机端touch事件计算滑动距离的方法
JS手机端touch事件计算滑动距离的方法原创 2018-10-15 13:10:53 · 6502 阅读 · 0 评论 -
JavaScript编译原理
查看抽象语法树(AST):http://esprima.org/demo/parse.html#原创 2018-10-25 10:19:55 · 765 阅读 · 0 评论 -
防抖动(Debouncing)和节流阀(Throttling)
前端防抖截流原创 2018-10-26 14:06:45 · 598 阅读 · 0 评论 -
JavaScript作用域
let a;{let a;let b}undefinedlet a = 6;{let a=2;let b}VM328:1 Uncaught SyntaxError: Identifier 'a' has already been declared at <anonymous>:1:1原创 2018-10-24 18:27:35 · 180 阅读 · 0 评论 -
promise
promise原创 2018-10-24 21:52:06 · 2188 阅读 · 4 评论 -
JavaScript 与 Java
JavaScript 与 Java原创 2018-11-06 16:27:00 · 121 阅读 · 0 评论 -
Chrome V8 与 JVM内存结构对比
Chrome V8 与 JVM内存结构对比原创 2019-03-20 04:41:52 · 1678 阅读 · 0 评论 -
JavaScript开发注意事项
1 异步前端发送ajax请求获取数据时,返回的数据会在其它地方用到的话,应该将属性async设置成false,否则其它地方获取的数据为undefined,可能会导致其他错误。举例:func1(){ var arrry_name = ajax({ async:false ...... }); return arrry_name ; } ...原创 2019-05-14 21:58:17 · 254 阅读 · 0 评论 -
浏览器事件循环(Event Loop)
js之所以设计成单线程,个人认为:一方面,引用多线程是为了充分利用硬件资源,但是作为js执行环境的浏览器是客户端的一个进程, 不需要考虑充分利用其硬件资源;另一方面,多线程带来了编程的复杂性,需要加锁,加锁本身也是消耗性能的。综上两点,既然引入多线程无法带来其好处,却会引入其缺点,js被设计成单线程更加合理。...原创 2018-09-17 14:13:47 · 380 阅读 · 0 评论 -
JavaScript重难点之this
this绑定的对象和函数调用方式有关,在运行时确定绑定对象。 new 强制绑定:bind 显示绑定:call、apply 隐式绑定:函数赋值给对象的某一属性,但是函数并不属于该对象。 默认:直接函数调用,不指明对象。...原创 2018-08-24 10:21:19 · 317 阅读 · 0 评论 -
JavaScript句柄
使用句柄的优点 1. 修改函数名或者函数代码不需要修改HTML中调用原创 2018-05-29 13:55:01 · 1877 阅读 · 0 评论 -
小强前端面试记之闭包
又是一年春季,空气清新,阳光正好,一切都好。当然,并非一切都那么令人舒适,比如春节后的工作,不知曾几何时,一年总有那么个365天不太想上班。还有校园里的小鲜肉们,也要开始参加春招喽。这一年的某一天,一个叫小强的大四学生来老刘公司应聘实习生,应聘职位也是这几年发展迅猛的前端开发。 Round One“自我介绍下吧。”老刘一脸严肃地说到,似乎并没有因为对方是妹纸稍显温...原创 2018-03-26 18:42:43 · 479 阅读 · 0 评论 -
函数调用方式
举例 function test(a){ alert(a) }调用test() 等价于:fn.call(undefined, a)fn.apply(undefined, [1, 2]) 2.原创 2018-06-07 20:38:43 · 220 阅读 · 0 评论 -
JavaScript ES6 概览(也被称作ECMAScript 6 and ES2015+)
只翻译与ES6相关的部分,即文章主要内容。 原文:Overview of JavaScript ES6 features (a.k.a ECMAScript 6 and ES2015+)IIFE (immediately-invoked function expression) to contain it:ES5 1 2 3 4 5 (function(){ ...翻译 2018-06-24 00:44:19 · 205 阅读 · 0 评论 -
JavaScript 引用类型
数组、对象、函数原创 2018-07-14 19:05:37 · 225 阅读 · 0 评论 -
JavaScript异常
异常对象原创 2018-07-14 19:07:03 · 355 阅读 · 0 评论 -
命名空间及模块化
命名空间用来防止程序上下文执行环境污染,即防止各个模块的数据被非法修改。 Java用package来达到命名空间同样的效果。 C++就有对应关键字:using namespace。 JavaScript库用对象来封装命名空间。...原创 2018-08-09 11:31:15 · 518 阅读 · 0 评论 -
JavaScript模块化来龙去脉
UMD(universal module definition)IIFE(立即执行函数表达式)在此有应用,将需要执行的函数放在第二位,示例代码如下:(function iife(fn){ fn(window);})(function def(global){ ......);...原创 2018-08-11 15:50:27 · 173 阅读 · 0 评论 -
ES6必知必会
新增基本数据类型Symbol。原创 2018-08-19 10:30:55 · 205 阅读 · 0 评论 -
var、let、const
1.变量提升变量使用:创建(create)、初始化(initialize) 和赋值(assign)。var 的“创建”和“初始化”都被提升了; function 的“创建”、”初始化“和”赋值“都被提升了; let 的“创建”过程被提升了,但是“初始化”没有提升。举例:function fn(){console.log(a)//undefinedvar a =3;...原创 2018-08-28 09:45:39 · 165 阅读 · 0 评论 -
JavaScript词法作用域
等等原创 2018-06-11 17:01:03 · 445 阅读 · 0 评论