JavaScript · 标签

  • 服务端推送 EventSource

    2018-10-12 11:00 142
    服务端推服务端推,指的是由服务器主动的向客户端发送消息(响应)。在应用层的HTTP协议实现中,“请求-响应”是一个round trip,它的起点来自客户端,因此在应用层之上无法实现简易的服务端推功能。当前解决服务端推送的方案有这几个:客户端长轮询websocket双向连接iframe永久帧长轮询虽然可以避免短轮询造成的服务端过载,但在服务端返回数据后仍需要客户端主动发起下一个长轮询请求,等待服务端响应,这样仍需要底层的连接建立而且服务端处理逻辑需要相应处理,不符合逻辑上的流程简单的服务端推送;websocket连接相对而言功能最强大,但是它对服务器的版本有要求,在可以使用websocket协议...
  • JavaScript 浏览器环境

    2018-10-11 10:50 157
    JavaScript 是浏览器的内置脚本语言。也就是说,浏览器内置了 JavaScript 引擎,并且提供各种接口,让 JavaScript 脚本可以控制浏览器的各种功能。一旦网页内嵌了 JavaScript 脚本,浏览器加载网页,就会去执行脚本,从而达到操作浏览器的目的,实现网页的各种动态效果。代码嵌入网页的方法网页中嵌入 JavaScript 代码,主要有三种方法。<script>元素直接嵌入代码。<script>标签加载外部脚本事件属性URL 协议script 元素嵌入代码<script>元素内部可以直接写 JavaScript 代码。<scri...
  • bluebird与原生Promise对象及bluebird模块的中文API文档

    2018-07-12 11:30 365
    Promise对象已在ECMAScript 2015中被写入标准,且已被最新版本的浏览器和Node.js/IO.js所支持。bluebird是一个第三方Promise规范实现库,它不仅完全兼容原生Promise对象,且比原生对象功能更强大。相关介绍主要API相关介绍1 bluebird与PromiseJavaScript中有很多第三方的Promise库,在ECMAScript 2015(ES 6)中也实现了一个Promise对象,可以在最新版本的浏览器和Node.js/IO.js中使用。bluebird同样是一个第三方Promise类库,相比其它第三方类库或标准对象来说,其有以下优点...
  • JavaScript的异步通信——XMLHttpRequest详解

    2018-06-15 13:56 400
    简介浏览器与服务器之间,采用 HTTP 协议通信。用户在浏览器地址栏键入一个网址,或者通过网页表单向服务器提交内容,这时浏览器就会向服务器发出 HTTP 请求。1999年,微软公司发布 IE 浏览器5.0版,第一次引入新功能:允许 JavaScript 脚本向服务器发起 HTTP 请求。这个功能当时并没有引起注意,直到2004年 Gmail 发布和2005年 Google Map 发布,才引起广泛重视。2005年2月,AJAX 这个词第一次正式提出,它是 Asynchronous JavaScript and XML 的缩写,指的是通过 JavaScript 的异步通信,从服务器获取 XML ...
  • webpack的核心对象

    2017-12-10 22:08 824
    webpack中的核心对象我们不会讲所有 webpack 中的对象都拿出来讲解,而是整理了一些比较核心的概念。我们可以先看看下面的类图:下面的论述将会逐一讲述类图中的对象,首先我们先来看一下最顶层的类 Tapable。TapableTapable 提供了 webpack 中基于任务点的架构基础,它将提供任务点注册的方法以及触发的方法。一个简单的例子,使用 plugin 方法来注册一个任务点,然后使用 applyPlugins 方法触发:let obj = new Tapable() obj.plugin("name", (params...
  • webpack的基本架构和构建流程

    2017-12-10 21:58 803
    webpack的基本架构webpack 的基本架构,是基于一种类似事件的方式。下面的代码中,对象可以使用 plugin 函数来注册一个事件,暂时可以理解为我们熟悉的 addEventListener。但为了区分概念,后续的讨论中会将事件名称为 任务点,比如下面有四个任务点 compilation,optimize, compile, before-resolve:compiler.plugin("compilation", (compilation, callback) => { // 当Compilation...
  • 正则表达式中的中括号

    2017-12-08 13:42 749
    中括号在正则中称为字符组(Character class),有的书翻译为字符类,还有的翻译成字符集。我觉得字符组更好点,毕竟class在计算机属于中代表面向对象里的“类”。顾名思义,字符组为一组字符,它表示在一个位置里可能出现的多种字符。注意这里强调只匹配一个位置哦。简单字符组范围字符组组合字符组排除型字符组字符组运算预定义字符组 简单字符组示例1:[123] 可以分别匹配包含1-3这5个数的字符串。var reg = /[123]/ reg.test('1') // -> true reg.test('2') // -> true reg.test('3') // -&...
  • vue-cli 构建的项目结构分析

    2017-07-10 16:16 1361
    由于最近在vue-cli生成的webpack模板项目的基础上写一个小东西,开发过程中需要改动到build和config里面一些相关的配置,所以刚好趁此机会将所有配置文件看一遍,理一理思路,也便于以后修改配置的时候不会“太折腾”。一、文件结构本文主要分析开发(dev)和构建(build)两个过程涉及到的文件,故下面文件结构仅列出相应的内容。├─build │ ├─build.js │ ├─check-versions.js │ ├─dev-client.js │ ├─dev-server.js │ ├─utils.js │ ├─vue-loader.conf.js │ ...
  • 通信库Axios - 使用说明

    2017-07-10 12:31 1819
    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。Features从浏览器中创建 XMLHttpRequests从 node.js 创建 http 请求支持 Promise API拦截请求和响应转换请求数据和响应数据取消请求自动转换 JSON 数据客户端支持防御 XSRF浏览器支持安装使用 npm:$ npm install axios 使用 bower:$ bower install axios 使用 cdn:<script src="https://unpkg.com/axios...
  • AngularJS Filter用法

    2017-01-13 15:38 1274
    Filter简介Filter是用来格式化数据用的。Filter的基本原型( ‘|’ 类似于Linux中的管道模式):{{ expression | filter }}Filter可以被链式使用(即连续使用多个filter):{{ expression | filter1 | filter2 | ... }}Filter也可以指定多个参数:{{ expression | filter:argument1:argument2:... }}AngularJS内建的FilterAngularJS内建了一些常用的Filter,我们一一来看一下。currencyFilter(currency):用途:格式...
  • 加载更多