JavaScript
scu_南
Life
展开
-
三个好用又令人期待的JavaScript新特性!
1、Optional Chaining(可选链式调用)当访问一个深层树形结构的对象时,我们总需要判断中间节点属性是否存在:let person ={ name:'abc',}let address = person.info.address// Uncaught TypeError: Cannot read property 'address' of undefined这是我们现在...原创 2019-11-08 10:37:46 · 345 阅读 · 0 评论 -
一文带你了解 JavaScript 函数式编程
一、什么是函数式编程函数式编程是一种编程范式,主要是利用函数把运算过程封装起来,通过组合各种函数来计算结果。函数式编程意味着你可以在更短的时间内编写具有更少错误的代码。举个简单的例子,假设我们要把字符串 functional programming is great变成每个单词首字母大写,我们可以这样实现:var string = 'functional programming is grea...原创 2019-08-23 19:40:30 · 157 阅读 · 0 评论 -
Node.js之process进程
Node process.env在看一些前框框架实现的源码的时候,经常会看到类似如下的代码:if (process.env.NODE_ENV === 'production') { module.exports = require('./prod.js')} else { module.exports = require('./dev.js')}node中有全局变量process表...原创 2019-04-17 14:29:03 · 277 阅读 · 0 评论 -
构建 react应用程序 (二)(react-scripts实现原理)
在前面讲到了使用create-react-app来创建项目,这节我们来分析下原理。react-scripts有以下支持,都帮你配置好了:React, JSX, ES6, and Flow syntax support.Language extras beyond ES6 like the object spread operator.Import CSS and image file...原创 2019-04-17 11:47:08 · 3993 阅读 · 0 评论 -
create-react-app 构建 react应用程序 (一 )
第一步 全局安装 create-react-appnpm install -g create-react-app 第二步 通过create-react-app来构建自己的项目create-react-app demo-app //demo-app是你要创建的项目名 第三步 执行npm start...原创 2019-04-17 10:38:24 · 286 阅读 · 0 评论 -
JavaScript的this原理
Javascript 是一个文本作用域的语言,就是说,一个变量的作用域,在写这个变量的时候确定。this 关键字是为了在 JS 中加入动态作用域而做的努力。所谓动态作用域,就是说变量的作用范围,是根据函数调用的位置而定的。从这个角度来理解 this, 就简单的多。this 是 JS 中的动态作用域机制, 具体来说有四种, 优先级由低到高分别如下:1. 默认的 this 绑定,就是说 在一...原创 2019-03-15 14:53:01 · 183 阅读 · 0 评论 -
js开发中的常用小技巧(持续更新ing)
1. if 语句可以用&&运算代替这样做的好处有两个: 代码会更加简洁 &&运算执行比 if 语句速度更快如if(id===4){ //your code}可以写成id===4&&{ //your code}2. 使用 || 运算符来赋值let params={ id:123,...原创 2019-03-04 15:34:06 · 403 阅读 · 0 评论 -
用 async/await 来处理异步
async、await 是异步的终极解决方案async方法执行时,遇到await会立即执行表达式,然后把表达式后面的代码放到微任务队列里,让出执行栈让同步代码先执行。转载 2019-02-28 17:35:23 · 295 阅读 · 0 评论 -
package.json和package-lock.json的区别
package.json:通过npm init命令创建,主要用来定义这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。package-lock.json:在 npm install时候自动生成,用以记录当前状态下实际安装的各个npm packa...原创 2019-02-27 18:02:59 · 1172 阅读 · 2 评论 -
react组件生命周期详解
生命周期状态组件的生命周期可分成三个状态:Mounting:已插入真实Dom Updating:正在被重新渲染 Unmounting:已移除真实Dom生命周期方法React为每个状态都提供了两种处理函数,will在进入状态之前调用,did在函数进入状态之后调用,三种状态供给五种处理函数。componentWillMount 在渲染前调用,在客户端也在服务端。 compon...原创 2019-02-22 17:50:28 · 268 阅读 · 0 评论 -
JavaScript 作用域链、闭包、原型和原型链
作用域链及和标识符解析每一个JavaScript函数都表示为一个对象, 要确切的说, 是Function对象的一个实例. Function对象同其他对象一样, 拥有可以编程访问的属性, 和一系列不能通过代码访问而仅供JavaScript引擎存取的内部属性. 其中有一个内部属性是[[Scope]].内部属性[[Scope]]包含了一个函数被创建的作用域中对象的集合。这个集合被称为函数的作用域...原创 2019-01-27 15:15:38 · 268 阅读 · 0 评论 -
脚本无阻塞加载策略
从上图可以看出,当浏览器遇到<script>标签时,浏览器会停止处理页面,先执行Javascript代码,然后再继续解析和渲染页面。在这个过程中,页面和用户的交互完全被阻塞了。通常表现为显示空白页面,用户无法浏览内容。 现在的浏览器都支持并行下载文件,比如上图同时下载多个图片。而且,IE8 、FireFox3.5、Safari4和Chrome2都支持并行...原创 2019-01-13 11:28:39 · 273 阅读 · 0 评论 -
JS遍历对象,获取key、value的几种方法
1. 使用for…inlet person = { name: '张三', age: '21',}for(let key in person){ if(Object.prototype.hasOwnProperty.call(person, key)){ console.log('key-value',key,person[key]) }}//key-valu...原创 2020-04-28 15:23:40 · 19026 阅读 · 4 评论