深入浅出this、apply、call、bind

this的概念

this是Javascript语言的一个关键字。this对象是在运行时基于函数的执行环境绑定的。 它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用.随着函数使用场合的不同,this的值会发生变化。但是有一个 总的原则,那就是this指的是,调用函数的那个对象. 谁调用它,this就指向谁。

注意 :当我们使用严格模式(strict mode)的时候,this 在全局函数中和匿名函数中的值是未定义的(undefined),不指向任何一个对象。一个函数执行的时候,它就获得了 this 这个属性。

more >>

node primer

  1. 什么是NodeJS?
    JS本身是一种完整的语言,可以在不同的上下文中执行,浏览器提供了一个上下文,nodejs事实上也是,它使用Google的V8虚拟机,来解释和执行js,使得js可以脱离浏览器环境在后端运行js代码。
    • NodeJS是一个JS脚本解析器,任何操作系统下安装NodeJS本质上做的事情都是把NodeJS执行程序复制到一个目录,然后保证在这个目录在系统PATH环境变量下,以便终端下可以使用node命令。
    • 终端下直接输入node命令可以进入命令交互模式,很适合用来测试一些JS代码片段,比如正则表达式。
    • NodeJS使用CMD模范。主模块作为程序入口点,所有模块在执行过程中只初始化一次,无论require几次。
    • 相较浏览器js解析引擎来说,NodeJS可以解析JS代码,没有浏览器安全级的限制,还提供系统级别的API:如文件的读写、进程的管理、网络通信。

      more >>

regular expression 正则表达式

前言

总是遇见正则表达式,也没有仔细看过,今天看了几篇blog,简单做个笔记。
正则表达式:用于匹配满足某些规则的文本的代码。

元字符

常用元字符

  •  .     匹配除换行符以外的任意字符。
  •  *     指定*前边的内容可以连续重复使用任意次以使整个表达式得到匹配。
  • \w     匹配字母或者数字或者下划线或汉字。
  • \s     匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格。
  • \d     匹配一位数字0-9。
  • \b     匹配单词的开头或者结尾,即单词的分界处,并不是匹配具体的一个什么分割字符,就是匹配这么个位置。
  •  ^    匹配字符串的开始。
  •  $    匹配字符串的结束。

如果你想查找元字符本身的话,需要使用转义字符\来取消这些字符的特殊意义。\.匹配.\\匹配\

more >>

Hacking With React读书笔记之React入门

前言

好久没有写博客了,暑假以来,项目啊、小论文啊,种种使得没能坚持下来。。惭愧思密达~最近看了本书Hacking with React,介绍了React前端框架入门、React-Router路由库、JestJS单元测试工具、Webpack前端模块加载工具、ES6、Babel、SuperAgent、Chance、ESLint等相关技术,来构建模块化JavaScript应用。对我来说,简直打开新世界的大门~因为都不会。。悲伤脸~

more >>

Session & Cookie

引言

进行某活动连续的一段时间内,需要保持服务器与客户端之间会话的状态(登陆了,刷新之后登陆状态依然要保持)。得在服务器与用户之间有一个一一对应的关系。
一个用户的所有请求都应该属于同一会话,会话与会话间相互独立。网站服务一般使用http协议传输数据(无状态协议),一旦数据交换完成,客户端与服务器端的连接就会关闭,再次交换需要再次创建新连接。也就是说,服务器无法从链接上跟踪会话,所以要引入一种机制,来弥补http协议无状态的不足。

一般通过CookieSession来实现。

more >>