codingmeup

Results 172 comments of codingmeup

### 作用域链 作用域链: 当查找变量的时候,会先从当前上下文的变量对象中查找,如果没有找到,就会从父级**(词法层面上的父级) **执行上下文的变量对象中查找,一直找到全局上下文的变量对象,也就是全局对象。这样由多个执行上下文的变量对象构成的链表就叫做作用域链。 ### 函数创建 **函数的作用域在函数定义的时候就决定了** 这是因为函数有一个内部属性 **[[scope]]**,当函数创建的时候,就会保存所有父变量对象到其中,你可以理解 [[scope]] 就是所有父变量对象的层级链,**但是注意:[[scope]] 并不代表完整的作用域链** 举个例子: ```js function foo() { function bar() { ... } } ``` 函数创建时,各自的[[scope]]为: ```js foo.[[scope]] = [...

### 闭包 变量的作用域无非就是两种:全局变量和局部变量。 Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 另一方面,在函数外部自然无法读取函数内的局部变量。 #### 出于种种原因,我们有时候需要得到函数内的局部变量。但是,前面已经说过了,正常情况下,这是办不到的,只有通过变通方法才能实现。 阮一峰说、 闭包是能够读取其他函数内部变量的函数、是函数, 函数内在包含子函数,并最终return子函数。 看了下评论不太准确、 #### 闭包是运行时中的概念,不能讲哪个函数是一个闭包!而是哪个函数在运行时存在一个闭包!有时候,好几个函数都可以组成一个闭包呢,当函数a的内部函数b被函数a外的一个变量引用!引用!引用!时候,就创建了一个闭包。 ### 闭包应该是一个组合,函数+作用域 A closure is the combination of a function and the lexical environment within which that...

模块化主要是用来抽离公共代码,隔离作用域,避免变量冲突等。 **IIFE**: 使用自执行函数来编写模块化,特点:**在一个单独的函数作用域中执行代码,避免变量冲突**。 ```js (function(){ return { data:[] } })() ``` **AMD**: 使用requireJS 来编写模块化,特点:**依赖必须提前声明好**。 ```js define('./index.js',function(code){ // code 就是index.js 返回的内容 }) ``` **CMD**: 使用seaJS 来编写模块化,特点:**支持动态引入依赖文件**。 ```js define(function(require, exports, module) {...

https://www.yuque.com/docs/share/9f219af8-12a5-4441-978f-201ef03987ab?

## 浏览器相关Debug ### 浏览器调试 > 参考 https://developers.google.com/web/tools/chrome-devtools/ #### 1. 打开Chrome 开发者工具 有以下3种方式: > 1、快捷键:Ctrl+Shift+I/F12 (Windows) 或 Cmd+Opt+I (Mac) 2、在页面元素上右键点击,选择 “检查” 3、在Chrome菜单中选择 更多工具 > 开发者工具 #### 2. 一图搞定debug ![Image text](https://user-gold-cdn.xitu.io/2018/12/10/167974f0b12d4edc?imageView2/0/w/1280/h/960/format/webp/ignore-error/1) #####...

[多种风格](https://juejin.im/post/5d7ffad551882545ff173083)

### 大前端的理解 ![](https://user-gold-cdn.xitu.io/2020/7/9/173310a0d8e79ca8?imageView2/0/w/1280/h/960/format/webp/ignore-error/1) 站在一个移动客户端研发的视角,聊聊我对大前端的简单理解: Web 上线节奏灵活,线上问题可以迅速上容错方案,对 WebView/JS 引擎版本敏感,一套代码可跨多端同时上线业务。如在天猫精灵业务场景下,不仅需要支持安卓、iOS 移动端,还需要支撑天猫精灵 CC 带屏音箱、孙悟空、二郎神等端设备。 Web 端前置作为业务方的唯一接口,Native 端后置解耦业务,转为支持 Web 端。 **前置的 Web 端是规范制定者**,通过一套自定义的 JS-Framework 层定义大前端框架的 **DSL** 规范 Do main-Specific-Language(css,js,json),业务层所获取的能力和开发环境全部依赖这一层,它也是 Web 端的另一个定位:安全隔离层,在多端的场景下,业务方获取的能力只有 JS-Framework 层开放出来,物理上隔离了业务层直接接触端容器的可能。(进行管控) 后置的客户端作为引擎,一方面将端上的系统级能力以及宿主...

### 水平居中 - 行内元素的居中 (父元素 text-align: center ) 这样子元素如果为inline-block 就会居中 - 块状元素居中 (块状没法用text-align) - 宽度一定: 我们使用对该元素margin: auto来实现 或 margin: 20px auto 并且一定要设置宽度值width 一起使用 - 宽度不定 : 1) 加table标签设置 margin:0 auto...

### 垂直居中 1) 固定高度 - line-height + height 但是 固定高度,无法实现两行文本的垂直居中对齐 - absolute 固定高度 无法自适应内容 元素脱离文档流 ```css Hello World! .container { position: absolute; left: 50%; top: 50%; margin-left: -150px; margin-top: -150px;...

### 左右定宽 中间自适应 - position(绝对定位法) center的div需要放在最后面 绝对定位法原理是将左右两边使用absolute定位,因为绝对定位使其脱离文档流,后面的center会自然流动到他们上面,然后使用margin属性,留出左右元素的宽度,既可以使中间元素自适应屏幕宽度。 ```js left right center .left,.right{ position: absolute; width: 200px; height: 200px; background-color: #df8793; top:0; } .left{ left:0px; } .right{ right: 0px; } .center{...