Bean


  • 首页

  • 分类

  • 归档

  • 标签

Cookie与Session的区别

发表于 2018-08-08 | 分类于 JavaScript

本文分别对Cookie与Session做一个介绍和总结,并分别对两个知识点进行对比分析,让大家对Cookie和Session有一个更深入的了解,并对自己的开发工作中灵活运用带来启示。

cookie机制

Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。IETF RFC 2965 HTTP State Management Mechanism 是通用cookie规范。网络服务器用HTTP头向客户端发送cookies,在客户终端,浏览器解析这些cookies并将它们保存为一个本地文件,它会自动将同一服务器的任何请求缚上这些cookies 。

阅读全文 »

JavaScript变量提升与函数提升

发表于 2018-07-30 | 分类于 JavaScript

在遇到这个问题之前,一直感觉自己的基础挺扎实的,可惜在今年开始差不多荒废了大半年的时间。归根结底还是不够自律,公司项目做的差不多了,人员配备的又过剩,所以有很多时间用来做自己的事情。而我的自己的事情肯定是跟学习某个框架或者打牢技术基础没有半毛钱关系的。[惭愧脸~]

闲话不多说,先抛出问题

判断下列式子的执行顺序?

1
2
3
4
5
6
7
8
9
alert(a)
a();
var a=3;
function a(){
alert(10)
}
alert(a)
a=6;
a();
阅读全文 »

es6 -- Set和Map类型

发表于 2018-07-03 | 分类于 JavaScript

一、Set类型

基本用法

ES6 提供了新的数据结构 Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。

Set 本身是一个构造函数,用来生成 Set 数据结构。

1
2
3
4
5
6
7
8
const s = new Set();
[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));
for (let i of s) {
console.log(i);
}
// 2 3 5 4

上面代码通过add方法向 Set 结构加入成员,结果表明 Set 结构不会添加重复的值。

Set 函数可以接受一个数组(或者具有 iterable 接口的其他数据结构)作为参数,用来初始化。

阅读全文 »

深入理解 requestAnimationFrame

发表于 2018-07-02

在Web应用中,实现动画效果的方法比较多,Javascript 中可以通过定时器 setTimeout 来实现,css3 可以使用 transition 和 animation 来实现,html5 中的 canvas 也可以实现。除此之外,html5 还提供一个专门用于请求动画的API,那就是 requestAnimationFrame,顾名思义就是请求动画帧。 为了深入理解 requestAnimationFrame 背后的原理,我们首先需要了解一下与之相关的几个概念:

1、屏幕刷新频率

即图像在屏幕上更新的速度,也即屏幕上的图像每秒钟出现的次数,它的单位是赫兹(Hz)。 对于一般笔记本电脑,这个频率大概是60Hz, 可以在桌面上右键->屏幕分辨率->高级设置->监视器 中查看和设置。这个值的设定受屏幕分辨率、屏幕尺寸和显卡的影响,原则上设置成让眼睛看着舒适的值都行。

阅读全文 »

前端开发者的基本要求

发表于 2018-07-02 | 分类于 前端

前几天我为一个项目写README文档,我希望其他开发者能够看到这个项目,并从中学到一些东西。突然我意识到,若放在几年前,我写作的过程中随口提到的Node,npm,Homebrew,git,测试还有产品构建,会把我魂都吓没了。

阅读全文 »

Grunt从入门到自定义项目模版

发表于 2018-07-02 | 分类于 Tools

一.Grunt入门介绍

1. Grunt是神马

基于任务的命令行构建工具(针对JavaScript项目)

链接:http://gruntjs.com/

2. 使用Grunt的理由

前端的工具算得上是五花八门,在介绍如何Grunt之前,首先我们得反问自己:

阅读全文 »

commander 包使用说明

发表于 2018-07-02 | 分类于 Tools

commander 包使用说明

选项解析

commander的选项是用.option()方法定义的,也可以作为选项的文档。下面的例子从process.argv中解析参数和选项,把剩下的参数作为没有被选项占用的program.args数组;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/env node
/**
* Module dependencies.
*/
var program = require('commander');
program
.version('0.1.0')
.option('-p, --peppers', 'Add peppers')
.option('-P, --pineapple', 'Add pineapple')
.option('-b, --bbq-sauce', 'Add bbq sauce')
.option('-c, --cheese [type]', 'Add the specified type of cheese [marble]', 'marble')
.parse(process.argv);
console.log('you ordered a pizza with:');
if (program.peppers) console.log(' - peppers');
if (program.pineapple) console.log(' - pineapple');
if (program.bbqSauce) console.log(' - bbq');
console.log(' - %s cheese', program.cheese);
阅读全文 »

删除github仓库中的文件夹命令

发表于 2018-07-02 | 分类于 Tools

记录删除github仓库中的文件夹命令,git的使用一直没有顺风顺水,命令的参数都不知道是做什么的,先记录下来以备查阅~

1
$ git rm -h
阅读全文 »

axios使用说明

发表于 2018-07-02 | 分类于 Tools

基于Promise的浏览器和node.js的HTTP 客户端

Features - 特征

  • 从浏览器发送XMLHttpRequests
  • 从node.js发送http请求
  • 支持 Promise API
  • 拦截请求及响应
    阅读全文 »

Ubuntu ESC 基础配置(一)

发表于 2018-07-02
  1. 修改服务器访问默认端口,防止服务器被恶意访问。

    steps:

    1
    sudo vi /etc/ssh/sshd_config // 编辑配置文件,记录配置文件地址

    输入密码;这里注意重新打开一个窗口,经验之谈,防止忘记了无法登陆服务器。

    下面是配置文件

阅读全文 »
12
Bean Liu

Bean Liu

16 日志
4 分类
16 标签
GitHub
Links
  • 浅葱小唱
  • blog
© 2018 Bean Liu
学海无涯苦作舟
|
主题 — NexT.Mist