2021年6月30日
摘要: 源码为: const express = require('express'); const expressHandlebars = require('express-handlebars'); const path = require('path'); const bodyParser = req 阅读全文
posted @ 2021-06-30 10:55 Vexekefo 阅读(1798) 评论(0) 推荐(1) 编辑
  2019年8月8日
摘要: 经常犯的错误:混淆了this绑定规则。 代码如下: 为什么是这种输出结果? 内置函数让this绑定丢失了,不再是obj对象中的id值。因此输出全局作用域下的id值而不是 。 2种解决方法:箭头函数和 箭头函数的原理是: 用当前的词法作用域覆盖了this 本来的值。 bind则是:函数的this被bi 阅读全文
posted @ 2019-08-08 01:26 Vexekefo 阅读(548) 评论(0) 推荐(0) 编辑
  2019年8月1日
摘要: 看一些框架的源码(非压缩)的时候,偶尔会看到他们会给函数表达式添加函数名。 比如以下代码: 事实上,给函数表达式添加函数名是一种最佳实践,有下面几点理由: 1、如果代码出错,有函数名可以快速定位错误位置,否则匿名函数在 中不会显示出有意义的函数名,调试困难。 2、没有函数名,函数想引用自身需要依靠已 阅读全文
posted @ 2019-08-01 01:58 Vexekefo 阅读(161) 评论(0) 推荐(0) 编辑
  2019年7月31日
摘要: 闭包最直接的定义:函数可以记住并访问所在的词法作用域时,就产生了闭包,即使这个函数是在当前词法作用域之外执行的。 如下代码: function foo() { var a = 1; function bar() { console.log(a); } bar(); } foo(); // 1 kyl 阅读全文
posted @ 2019-07-31 23:09 Vexekefo 阅读(156) 评论(1) 推荐(0) 编辑
摘要: with关键字 with在JS中通常被当做重复引用同一个对象多个属性的快捷方式。 但会有奇怪的副作用,比如: 你可以想一下为什么会造成 ? 严格模式下,eval和with都是禁止的,因此不要使用。 阅读全文
posted @ 2019-07-31 01:34 Vexekefo 阅读(297) 评论(0) 推荐(0) 编辑
  2019年7月30日
摘要: ![](https://img2018.cnblogs.com/blog/1495123/201907/1495123-20190730152038607-321084032.png) 阅读全文
posted @ 2019-07-30 15:21 Vexekefo 阅读(115) 评论(0) 推荐(0) 编辑
摘要: LHS和RHS,当变量出现在赋值操作的左侧时进行LHS 查询,出现在右侧时进行RHS 查询。 LHS 查询是试图找到变量的容器本身,从而可以对其赋值。 RHS 理解成retrieve his source value(取到它的源值),这意味着“得到某某的值”。 我的答案 LHS查询: 1. 是将2赋 阅读全文
posted @ 2019-07-30 15:02 Vexekefo 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 关于以下代码段: JS引擎和作用域、编译器之间对话: 阅读全文
posted @ 2019-07-30 14:49 Vexekefo 阅读(184) 评论(0) 推荐(0) 编辑
  2019年7月28日
摘要: 解释型和编译型语言 解释型语言 解释型语言是对代码进行一句一句的直接运行,在程序运行期间,使用解释器动态将代码解释为机器码,再运行。 编译型语言 编译型语言是需要使用编译器先对代码进行编译为机器码,再运行程序,并不是直接运行的。、 优缺点 编译型的语言在运行期间一般是要比解释型的要快一点,因为编译型 阅读全文
posted @ 2019-07-28 00:40 Vexekefo 阅读(2659) 评论(0) 推荐(1) 编辑
  2019年4月16日
摘要: ```js const MongoClient = require('mongodb').MongoClient const url = "mongodb://localhost:27017" const dbName = 'express project' // 连接数据库 MongoClient 阅读全文
posted @ 2019-04-16 19:23 Vexekefo 阅读(2031) 评论(0) 推荐(0) 编辑