## 关于javascript你要知道的
- javascript是一个基于原型实现的面向对象语言
- 作用域链
- 原型链
- 静态作用域
- 闭包是匿名函数和静态作用域的综合体
- 一切皆为对象,所有对象都是Object的派生(准确的说第一代原型是Object.prototype)
- node.js是javascript在服务端的运行环境,并且还加入了一些新的系统级的API
- javascript语言是一种规范,基于这种规范,可以采用任何语言去实现它
- javascript是一种单线程语言,单线程使得它在某些方面使用起来要比其他面向对象语言简单,比如java,没有多线程就会少很多麻烦,但是请注意,在浏览器端,js有一个事件循环的机制,用于异步事件的处理。
* * * * *
### 其它
```
Object.getOwnPropertyNames(Promise.prototype)
```
可以获取一个对象的属性列表
* * * * *
`__proto__` 属性指向一个对象,这个对象就是所谓的原型。
`prototype` 属性也是一个对象,挂在构造函数上成为别人(new出的对象)的原型对象。
一个是指向原型,一个是别人的原型。
* * * * *
### 参考
[Webpack 的异步加载原理及分包策略](https://mp.weixin.qq.com/s/ZGcPPXp_Xczsbb5iZuj7Nw)
[看完这篇要是还不懂“浏览器渲染原理”,那就……](https://mp.weixin.qq.com/s/wcDklFVspWVZbcwG2txFYg)
[“秒开”浏览器实现起来有多难?](https://mp.weixin.qq.com/s/3sYrI9kxgAYLiNT-xavRLw)
[你真的懂 Promise 吗?](https://mp.weixin.qq.com/s/zcZwMRg9nymQrp4n6FEldA)
[谁说前端不需要懂二进制](https://mp.weixin.qq.com/s/_FU8gBmq2XFIhwRpHNpPww)
[你不知道的 Blob](https://mp.weixin.qq.com/s/MPTTMUXLRK0boeMDYzmaLA)
[谈一谈使用字体库加密数据-仿58同城](https://mp.weixin.qq.com/s/mqWKKh7-U15hm3zNEECl2w)
[Chrome 运行时性能瓶颈分析](https://mp.weixin.qq.com/s/0JPASL4Y2hTj-onroZ1R_g)
[为什么你的网页需要 CSP?](https://mp.weixin.qq.com/s/UtTyTlpa-lI84a3ALkJTZw)
[JavaScript 为什么能活到现在?](https://mp.weixin.qq.com/s/u4f8o_CZ69kj__mlyp8xGw)
[浏览器数据库 IndexedDB 入门教程](https://mp.weixin.qq.com/s/cogka1gWqpde29XEWoxhqw)
[GMTC大会专访:Node.js 2018年大前端潮流解析](https://mp.weixin.qq.com/s/J79c-gPD_7e3MZuRYCp2bA)
> Node为解决后端并发而生,但却无心插柳,成为大前端的基石。伴随大前端的发展,Node也发展的越来越好,越来越重要,其应用场景从脚手架、辅助前端开发(比如SSR、PWA等)的快速开发实践,到API中间层、代理层,到专业的后端开发都有非常成熟的经验。另外,前端越来越复杂,后端服务化,今日的前端要面临更多的挑战,Node全栈给大家更多可能。我个人对此坚定不移。
[网站性能优化实战——从12.67s到1.06s的故事](https://juejin.im/post/5b0b7d74518825158e173a0c)
[低门槛彻底理解JavaScript中的深拷贝和浅拷贝](https://mp.weixin.qq.com/s/FoNX_Vn1Xy0pElr3GyTgbw)
[利用 javascript 实现富文本编辑器](https://mp.weixin.qq.com/s/kjzzIyqEdflf2b7MIaEPsQ)
[让我们一起来学习别人学不动的deno](https://segmentfault.com/a/1190000015151287)
[不要再问我跨域的问题了](https://mp.weixin.qq.com/s/RKrWLL690cTLtM9mdDnBbg)
[Web Worker 使用教程](https://mp.weixin.qq.com/s/OX58lz05jHdalL7PVR0Jiw)
[JS Linter 进化史](https://zhuanlan.zhihu.com/p/34656263?utm_source=wechat_session&utm_medium=social&from=singlemessage)
> 没有好的协作的方式和一致性规范就不会有更大的发展,过多耦合最终会成为巨大麻烦。
[深入理解 ESLint](https://mp.weixin.qq.com/s/BD827cLWrPNtMgDvGgi0qg)
[Node 之父:Node 失误太多无力回天,Deno 前景明朗](https://mp.weixin.qq.com/s/7M9PG4EJhNcxFLcG9oM45g)
[Node Bug 太多惨遭创始人抛弃,前端开发要变天?](http://toutiao.com/group/6563849781486027277/?iid=33124962994&app=news_article_lite×tamp=1528275566&wxshare_count=1&tt_from=weixin&utm_source=weixin&utm_medium=toutiao_android&utm_campaign=client_share)
[Chrome 调试技巧](https://mp.weixin.qq.com/s/0yBiqcszF_2-avFc6HwZNg)
[一篇文章彻底说清 JS 的深拷贝/浅拷贝](https://mp.weixin.qq.com/s/SvtRJXtquh7dJxATCIwNgw)
[AST抽象语法树:最基础的 Javascript 重点知识](https://mp.weixin.qq.com/s/We_vEDfKKLXKfhT0sKvkFw)
[前端的一些坑,一些记录,一些冷知识](https://mp.weixin.qq.com/s/4WeDADzctVQ2OlTLaEhFHQ)
[一篇文章理解 JS 继承](https://mp.weixin.qq.com/s/Hjzt0DUd6aXIH84vrf0poQ)
http://debugx5.qq.com/?from=groupmessage
[JS 中的 number 为何很怪异?](https://mp.weixin.qq.com/s/C0rOG1l411XL0O7hujPOOA)
[Promise 探讨](https://mp.weixin.qq.com/s/M4zddxwUB6qDGDMOPbYkYg)
[你真的了解回流和重绘吗?](https://mp.weixin.qq.com/s/0jmzBlFZsiHXfu9mpjoW5w)
[图解WebGL和Three.js工作原理](https://mp.weixin.qq.com/s/_GNQSXQtLEre5ePa4kZnDw)
[腾讯祭出大招VasSonic,让你的H5页面首屏秒开!](https://mp.weixin.qq.com/s/zOygJ0mqQ0oyXQgtc2lf3A)
[原来 CSS 与 JS 是这样阻塞 DOM 解析和渲染的](https://mp.weixin.qq.com/s/xUUxYs_iFyKg6z4RrtcjVg)
[前端开发进化史,你经历过哪几个时期?](https://mp.weixin.qq.com/s?__biz=Mzg2MjEwMjI1Mg==&mid=2247487023&idx=1&sn=064eb8ea4f5390b23088829b7f6eecfd&source=41#wechat_redirect)
[DOM 操作成本到底高在哪儿?](https://mp.weixin.qq.com/s/pa9mmQah-DNb9fNAYe2AvA)
[想写好前端,先练好内功](https://mp.weixin.qq.com/s/Z_KfyyoR74CKHZ0pyIFuHQ)
[十分钟学会防抖和节流](https://mp.weixin.qq.com/s/crXTrI1hJSlbWtAco-jHFw)
[如何在浏览器不崩溃的情况下过滤 200 万行数据?](https://mp.weixin.qq.com/s/9Dgb53y_Wwx3YpT_vnV0Ng)
[Resumable File Upload Demo - https://tus.io/demo.html](https://tus.io/demo.html)
[大前端摧毁了原生开发者的一切,但是我们应该开心](https://mp.weixin.qq.com/s/yZIlcfFI9Fysdq5UadaXfA)
[移动开发的罗曼蒂克消亡史](https://mp.weixin.qq.com/s/2xBnlmESZjq7UTtcfzqhcA)
[九种跨域方式实现原理](https://mp.weixin.qq.com/s/LV7qziMyrMt0_EJWo05qkA)
[关于直播视频格式和浏览器兼容性历史的来龙去脉](https://mp.weixin.qq.com/s/w-4uaDP4d-DAQ_JKcqQfYA)
[回到最初:开发不需要“编译” 的 WebApp](https://juejin.im/post/5bdfaed0e51d4505086fa4cd)
[关于移动端适配,你必须要知道的](https://mp.weixin.qq.com/s/J3sAnIsiZ1-2jwZcg9VVVw)
[重度代码洁癖患者该如何用vscode开发Vue应用?](https://mp.weixin.qq.com/s/ssgFGGfCfRB-zFPVX0HHMQ)
[JS 函数的 6 个基本术语](https://mp.weixin.qq.com/s/9FtdLr3u4w4n_qiiKkVfUA)
[页面可视化搭建工具技术要点](https://mp.weixin.qq.com/s/aerX2wru1MZZ4S7dihjW0g)
[可能这些是你想要的 H5 软键盘兼容方案](https://mp.weixin.qq.com/s/u1KIkWm-1VFu4r8VzvB5Dg)
[深入分析虚拟DOM的渲染过程和特性](https://mp.weixin.qq.com/s/VlDl9r0w2CIg0KWiQXChxQ)
[十分钟学会防抖和节流](https://mp.weixin.qq.com/s/crXTrI1hJSlbWtAco-jHFw)
[前端开发 20 年变迁史](https://mp.weixin.qq.com/s/cDsYO1AsYXOjZVpSwBq2HA)
[异常处理,"try..catch"](https://mp.weixin.qq.com/s/sZSNDTl_VwIr41n-NYmsKw)
[深入理解 ESLint](https://mp.weixin.qq.com/s/BD827cLWrPNtMgDvGgi0qg)
[JavaScript 究竟是如何工作的?(第一部分)](https://mp.weixin.qq.com/s/7n4cP9g8G5hGOuCExXydIg)
[技术轮回,静态Web再度成为新趋势?](https://mp.weixin.qq.com/s/JrsJiO_B8wJDjLqKN7awkQ)
[为什么2019年了我还在用jQuery](https://mp.weixin.qq.com/s/zxp8jw9kqycVPfZznVTC1A)
> AT&T 的网站帐户页面仅提供静态 HTML。 但它们是由 js 渲染的,我必须等待每次点击后查看加载情况。这是为什么?为什么这么多静态网站和博客都在其所有网页上使用 SPA 技术? 人们疯了吗? 如何花费 10 倍的钱和努力以获得更糟糕的结果? —— 返璞归真
[Lodash 严重安全漏洞背后:你不得不知道的 JavaScript 知识](https://mp.weixin.qq.com/s/9GxyNmLFWFDDFERkrGOwSw)
[Web 视频播放前前后后那些事](https://mp.weixin.qq.com/s/6c4DOckNqNNH9uptVsKbKA)
[一篇文章彻底搞定富文本原理 + 实战](https://mp.weixin.qq.com/s/tx8y00WXa0OWFEnmSj5caw)
[NPM 如何管理依赖包版本](https://mp.weixin.qq.com/s/dg3aUlZE1qplMBiFU377zA)
[npm install 原理分析](https://mp.weixin.qq.com/s/d4v4c6MM7sWepDO0PbiNLQ)
[从 React 历史的长河里聊虚拟 DOM 及其价值](https://mp.weixin.qq.com/s/9q77WluVxmONDnlfeSWsvA)
[渲染树怎么形成的你真的很懂吗?](https://mp.weixin.qq.com/s/ZT047JL4kEqYha10U4NMMQ)
[Javascript诞生记 - 阮一峰的网络日志](http://www.ruanyifeng.com/blog/2011/06/birth_of_javascript.html)
[Javascript:一个屌丝的逆袭](https://mp.weixin.qq.com/s/JpwVhpXc67H6ahcMEvUAvA)
[javascript王国的一次旅行,一个没有类的世界怎么玩转面向对象?](http://mp.weixin.qq.com/s/l3feZ7NaV1pIJ52K5JCQEw)
[javascript王国之函数教主](http://mp.weixin.qq.com/s/qqPg0JujBIUNQPQMxjjlZQ)
[Object.prototype - JavaScript | MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/prototype)
[Object.prototype.isPrototypeOf() - JavaScript | MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/IsPrototypeOf)
[JavaScript:Object.prototype.toString方法的原理 - 紫云飞 - 博客园](http://www.cnblogs.com/ziyunfei/archive/2012/11/05/2754156.html)
[深入理解JavaScript定时机制](http://www.laruence.com/2009/09/23/1089.html)
[\__proto\__与prototype - 追梦子 - 博客园](http://www.cnblogs.com/pssp/p/5222075.html)
[简单粗暴地理解 JS 原型链](http://mp.weixin.qq.com/s/JzgalzgnhVjg0119xEf4BQ)
[call方法和new对象的关系 - 追梦子 - 博客园](http://www.cnblogs.com/pssp/p/5221891.html)
[彻底理解js中this的指向,不必硬背。 - 追梦子 - 博客园](http://www.cnblogs.com/pssp/p/5216085.html)
[JavaScript中call,apply,bind方法的总结。 - 追梦子 - 博客园](http://www.cnblogs.com/pssp/p/5215621.html)
[Nodejs中的this](http://www.cnblogs.com/pssp/p/5321506.html)
[那些年我们一起过的JS闭包,作用域,this,让我们一起划上完美的句号。](http://www.cnblogs.com/pssp/p/5781090.html)
[闭包,是真的美](http://mp.weixin.qq.com/s/w6vtbt8D3dQza3KVwmjm-A)
[关于在for循环中绑定事件打印变量i是最后一次。](http://www.cnblogs.com/pssp/p/5215417.html#)
[setTimeout 的黑魔法 - 李三思 - 博客园](http://www.cnblogs.com/fly-snow/p/5427865.html)
> js引擎与GUI引擎是互斥的
怎么证明,浏览器的js线程和GUI渲染线程是互斥的呢?这个问题不是几句话能说清楚的,已经独立成章,见:[js引擎与GUI引擎是互斥的](https://www.kancloud.cn/xiak/quanduan/375582)。
[js 深拷贝 vs 浅拷贝 - 掘金](https://juejin.im/post/59ac1c4ef265da248e75892b)
[傻傻分不清的 __proto__ 与 prototype](http://mp.weixin.qq.com/s/C6s5g6dkXSpAZpFA4MVyCQ)
[几张图告诉你事件循环和Job Queue究竟是什么](http://mp.weixin.qq.com/s/8RK1st8pTNz_-htX9sY8Ng)
[剖析 Promise 内部结,实现一个 Promise 类](http://mp.weixin.qq.com/s/DjRb2q_myluEceA7kOJPXQ)
[性感的Promise,拥抱ta然后扒光ta](http://mp.weixin.qq.com/s/rLwO1D7Rsc0pMxfLAMkNYA)
[写给小白看的 JavaScript 异步](http://mp.weixin.qq.com/s/tzPuVfGo68yE3FteMuSQaw)
[这一次,彻底弄懂 JavaScript 执行机制](https://mp.weixin.qq.com/s/4fJN2Tfh-ByCZ3EXH1AVGw)
[作为一名前端开发人员,你不可不知的JavaScript高级特性](https://www.toutiao.com/a6507826734019117572/?tt_from=weixin&utm_campaign=client_share×tamp=1515645304&app=news_article&utm_source=weixin&iid=22069500288&utm_medium=toutiao_android&wxshare_count=1)
> 变量申明、函数定义提前机制,很多语言都是这样的,php也是这个特性。(代码本身并不重要,实现才重要,这是为了让编程语言适应人们的编程习惯)
> **JS是按块执行的。**
[在 Node 的帮助下,横跨多平台的 JavaScript 已经赢了](http://36kr.com/coop/toutiao/5111638.html?ktm_source=toutiao&tt_from=weixin&tt_group_id=6509609322857628174)
[理解 JavaScript 作用域](http://mp.weixin.qq.com/s/CJrrwqwJDyYxUS8tlDC-HQ)
> 最小访问原则 ,作用域为你的代码提供了一个安全层级。计算机安全中,有个常规的原则是:用户只能访问他们当前需要的东西。
>
> 代码写的很形象,尤其是 利用闭包实现js版的php私有修饰关键字,很赞!
[10 分钟理解 JS 引擎的执行机制](http://mp.weixin.qq.com/s/WJHD3IFefoVm2MHBgf6oDw)
[很全很全的 JavaScript 模块讲解](http://mp.weixin.qq.com/s/Qs-C2q3jfSzdYeOYSbm11g)
[从浏览器多进程到JS单线程,JS运行机制最全面的一次梳理](http://mp.weixin.qq.com/s/GFUivceIlbjVDfcJibnVOg)
[如何继承 Date 对象?由一道题彻底弄懂 JS 继承](http://mp.weixin.qq.com/s/p3-zs8R5k4f8rN3iEkq8oA)
[给初学者:JavaScript 的常见注意点](https://mp.weixin.qq.com/s/lBJXZ9E8xlEzWhDvy3wv7w)
[wangfupeng1988/js-async-tutorial: 深入理解 JavaScript 异步](https://github.com/wangfupeng1988/js-async-tutorial)
[为什么浏览器的用户代理字符串以 Mozilla 开头?](http://mp.weixin.qq.com/s/x2lPV7ev8mvedi-uGFboGg)
[让我们一起学习JavaScript闭包吧](http://mp.weixin.qq.com/s/nxxOBD-UtC87goS3Y-GXuw)
[关于 Google 发布的 JS 代码规范,你需要了解什么?](https://mp.weixin.qq.com/s/itTcxdyEYi0anUPBIRhYsw)
[走近 WebAssembly 之调试大法](https://mp.weixin.qq.com/s/K3FcgoHnw0pAMHCoMer_Ow)
[深入理解 ES Modules (手绘示例)](https://mp.weixin.qq.com/s/hNbBH8uTLRWlMjgZRwKycg)
[如何处理 JavaScript 内存泄露](https://mp.weixin.qq.com/s/Cup4F6TMyyw4jB87yrtkRQ)
[JavaScript 的 this 原理](https://mp.weixin.qq.com/s/cNWXVisYTxNMM7-FdwtzyQ)
[函数防抖与函数节流 - 司徒正美](https://mp.weixin.qq.com/s/xMCna_VtoOev0K5uK1J0aQ)
> 函数防抖与节流是很相似的概念,但它们的应用场景不太一样。
[ES6 系列之我们来聊聊 Promise](https://mp.weixin.qq.com/s/ihS5aCQxTb9Ny6X5ebscIA)
[事件循环机制的那些事](https://mp.weixin.qq.com/s/9_hZX_xWSr3Gd1X_2_WOsA)
[JavaScript如何优雅实现继承?](https://mp.weixin.qq.com/s/V2xidEGQmiW-nwPwjrReEg)
> 第三个结果错了,结果应该是:
> Hi! john.
> Hi! joe.
> joe
[前端码农之蜕变 — AST(抽象语法树)](https://mp.weixin.qq.com/s/T6eJ9YEDpopZTz2rh1Y5Xw)
[从 0 到 1 再到 100:搭建、编写、构建一个前端项目](https://mp.weixin.qq.com/s/PdMpneV52gKw305g1DfdWg)
[深入了解浏览器存储](https://mp.weixin.qq.com/s/A1v_qCGAvDkYhMhSU3OuTg)
[答疑:浏览器为什么不优化 DOM 操作的性能](https://mp.weixin.qq.com/s/mXkZ5S121Slc0RjNnrhnoQ)
[IntersectionObserver介绍 - 简书](https://www.jianshu.com/p/7c06669ed98e)
* * * * *
last update:2018-1-11 16:28:24
- 开始
- 微信小程序
- 获取用户信息
- 记录
- HTML
- HTML5
- 文档根节点
- 你真的了解script标签吗?
- 文档结构
- 已经落后的技术
- form表单
- html实体
- CSS
- css优先级 & 设计模式
- 如何编写高效的 CSS 选择符
- 笔记
- 小计
- flex布局
- 细节体验
- Flex
- Grid
- tailwindcss
- JavaScript
- javascript物语
- js函数定义
- js中的数组对象
- js的json解析
- js中数组的操作
- js事件冒泡
- js中的判断
- js语句声明会提前
- cookie操作
- 关于javascript你要知道的
- 关于innerHTML的试验
- js引擎与GUI引擎是互斥的
- 如何安全的修改对象
- 当渲染引擎遇上强迫症
- 不要使用连相等
- 修改数组-对象
- 算法-函数
- 事件探析
- 事件循环
- js事件循环中的上下文和作用域的经典问题
- Promise
- 最佳实践
- 页面遮罩加载效果
- 网站静态文件之思考
- 图片加载问题
- 路由及转场解决方案
- web app
- 写一个页面路由转场的管理工具
- 谈编程
- 技术/思想的斗争
- 前端技术选型分析
- 我想放点html模板代码
- 开发自适应网页
- 后台前端项目的开发
- 网站PC版和移动版的模板方案
- 前后端分离
- 淘宝前后端分离
- 前后端分离的思考与实践(一)
- 前后端分离的思考与实践(二)
- 前后端分离的思考与实践(三)
- 前后端分离的思考与实践(四)
- 前后端分离的思考与实践(五)
- 前后端分离的思考与实践(六)
- 动画
- 开发小技巧
- Axios
- 屏幕适配
- 理论基础
- 思考
- flexible.js原理
- 实验
- rem的坑,为什么要设置成百分比,为什么又是62.5%
- 为什么以一个标准适配的,其它宽度也能同等适配
- 自适应、响应式、弹性布局、屏幕适配
- 适配:都用百分比?
- 番外篇
- 给你看看0.5px长什么样?
- 用事实证明viewport scale缩放不会改变rem元素的大小
- 为什么PC端页面缩放不会影响rem元素
- 究竟以哪个为设备独立像素
- PC到移动端初试
- 深入理解px
- 响应式之栅格系统
- 深入理解px(二)
- 一篇搞定移动端适配
- flex版栅格布局
- 其他
- 浏览器加载初探
- 警惕你的开发工具
- JS模块化
- webpack
- 打包原理
- 异步加载
- gulp
- 命名规范
- 接口开发
- sea.js学习
- require.js学习
- react学习
- react笔记
- vue学习
- vue3
- 工具、技巧
- 临时笔记
- 怎么维护好开源项目
- 待办
- 对前端MVV*C框架的思考
- jquery问题
- 临时
- 好文
- 节流防抖