活在当下

Results 88 issues of 活在当下

JavaScript:彻底理解同步、异步和事件循环(Event Loop 原文: https://segmentfault.com/a/1190000004322358 一. 单线程 我们常说“JavaScript是单线程的”。 所谓单线程,是指在JS引擎中负责解释和执行JavaScript代码的线程只有一个。不妨叫它主线程。 但是实际上还存在其他的线程。例如:处理AJAX请求的线程、处理DOM事件的线程、定时器线程、读写文件的线程(例如在Node.js中)等等。这些线程可能存在于JS引擎之内,也可能存在于JS引擎之外,在此我们不做区分。不妨叫它们工作线程。 二. 同步和异步 假设存在一个函数A: A(args...); 同步:如果在函数A返回的时候,调用者就能够得到预期结果(即拿到了预期的返回值或者看到了预期的效果),那么这个函数就是同步的。 例如: Math.sqrt(2); console.log('Hi'); 第一个函数返回时,就拿到了预期的返回值:2的平方根。 第二个函数返回时,就看到了预期的效果:在控制台打印了一个字符串。 所以这两个函数都是同步的。 异步:如果在函数A返回的时候,调用者还不能够得到预期结果,而是需要在将来通过一定的手段得到,那么这个函数就是异步的。 例如: fs.readFile('foo.txt', 'utf8', function(err, data) { console.log(data); }); 在上面的代码中,我们希望通过fs.readFile函数读取文件foo.txt中的内容,并打印出来。...

工作

/** * textarea高度根据内容的自适应(eg:$().TextAreaExpander(, )); * is the minimum textarea height in pixels (optional) * is the maximum textarea height in pixels (optional) */ ```js (function ($) { // jQuery plugin...

工作

> 更新于 2021-11-12 前端知识重要性 知识点 掌握程度 备注 前端安全 ★ 了解XSS和CSRF 编码知识 ★★ UTF系、Unicode、URL编码、Base64 等常见编码要非常熟悉 项目管理 ★★★ 组织、发起、跟进、汇报一个项目的全周期的能力,包括多任务并行、和突发情况处理,具备高效和高质量记录、备份、确认和项目交接能力 计算机网络 ★★★ 了解计算机网络,关注性能优化 软件工程 ★★★ 必须对团队协作和跨部门协作、前端架构方面常见的问题具备很高的辨识度 NodeJS ★★★ Web 工程化必备技能 CSS 2.x &...

工作

[移动端iPhone屏幕适配图解](http://wileam.com/iphone-6-screen-cn/)

## 可能是包太多 导致性能问题 ` mvn jetty:run -pl /项目path -Dorg.eclipse.jetty.annotations.maxWait=120 `

*阅读时间约为1m 30s* # async/await 和 promise ## 抛砖引玉 ```js async function series() { await wait(500); await wait(500); return "done!"; } ``` 以上代码执行完毕需要 1000 毫秒,再看看这段代码: ```js async function parallel() { const...

工作

NO.1 ```javascript function Foo(){ var i=0; return function(){ document.write(i++); } } var f1=Foo(), f2=Foo(); f1(); f1(); f2(); `` 请问以上程序的输出

工作

## 微任务,宏任务 ### 思考下面的代码 ``` setTimeout(function () { console.log(1); }); new Promise(function(resolve,reject){ console.log(2) resolve(3) }).then(function(val){ console.log(val); }) ```