站内搜索

本次搜索找到结果 19 条
WebSocket 简介websocket的产生我们都知道HTTP协议是一种请求-响应模型,表现在Request和Response两个对象上,并且只能由客服端产生Request服务器被动的回复Response。但是在及时通讯的业务场景,这种通讯模型并不适用,因为服务端不能直接给客服端推送消息,所有只能由客服端不断的循环发送请求询问服务器数据是否有需要推送的消息,这种机制称为轮询。轮询机制因为要不断...
自定义模版字符串解析有时候需要拼接一些字符串,在Java有字符串模版,但是这个模版的可读性很差,js在ES6中新增了字符模版,但是在面对模版字符串的时候依旧无法处理。所以写了个工具在两端可以解析同一套模版。String name = "张三";int age = 18;String temp = "%s您好!你的年龄%s"//Java字符串模版// 改成模版字符串时可读性比较好var temp =...
koa源码简析Koa代码量非常少,大致分为5个部分,application.js (koa对象)context.js (koa上下文对象) request.js (request对象)response.js (response对象)koa-compose/index.js (合并中间件)与原生node模块写法的对比首相我们对比一下使用node原生的http模块和koa构建服务的异同//原生...
Koa 框架koa 是由 Express 原班人马打造的,致力于成为一个更小、更富有表现力、更健壮的 Web 框架。 使用 koa 编写 web 应用,通过组合不同的 generator,可以免除重复繁琐的回调函数嵌套, 并极大地提升错误处理的效率。koa 不在内核方法中绑定任何中间件, 它仅仅提供了一个轻量优雅的函数库,使得编写 Web 应用变得得心应手。在使用上,koa把之前的req,rsp都...
mongdb 的查询语句官方文档表结构{ "_id" : ObjectId("5ac32a192e9d816838f3baae"), "name" : "2017年高分获奖剧情《魅影缝匠》BD中英双字幕", "url" : "http://www.dytt8.net/html/gndy/dyzz/20180328/56582.html", "date" : "2018-03...
基于事件驱动的nodejs的爬虫研究node大半个月了,怕和之前一样学完即忘掉,打算写点东西练练手,说干就干,花个半天时间撸个爬虫。本文将使用nodejs基于crawler和cheerio和构建一个简单又高效的的爬虫,本文涉及到的知识点。ES5/6 语法基础nodejs 基础crawler node爬虫工具cheerio nodejs版jQueryHTML/jQuerymongodb 数据库本文以...
nodejs child_process 模块多线程编程通常情况下,node是采用了一个单线程在执行,但是单线程在抛出异常时就会down掉,这显然不符合后端程序的要求,加之现代电脑基本是多核心处理器,为了更好的利用多核处理器,提高程序性能node也提供了进程child_process模块。在这之前我们来看看node中进程对象包含那些信息。process 对象process的属性var proces...
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。简单来说它就是一个基于nodejs http 模块简单封装的js库。Express 框架核心特性:可以设置中间件来响应 HTTP 请求。定义了路由表用于执行不同的 HTTP 请求动作。可以通过向模板传递参数来动态渲染 HTML 页面。Express 对象...
JavaScript 异步编程异步的概念  作为一个java程序猿,此处需要明确的是:异步与多线程与并行不是同一个概念,所谓"异步",简单说就是一个任务不是连续完成的,可以理解成该任务分成两段,先执行第一段,然后转而执行其他任务,等做好了准备,再回过头执行第二段。 比如,有一个任务是读取文件进行处理,任务的第一段是向操作系统发出请求,要求读取文件。然后,程序执行其他任务,...
JSON 工具类JSON.parse()解析JSON字符串并返回对应的值,可以额外传入一个转换函数,用来将生成的值和其属性, 在返回之前进行某些修改。JSON.stringify()返回与指定值对应的JSON字符串,可以通过额外的参数, 控制仅包含某些属性, 或者以自定义方法来替换某些key对应的属性值。let obj = { name: "张三", age: 18, toStr...
与大多数全局对象不同,Reflect没有构造函数。你不能将其与一个new运算符一起使用,或者将Reflect对象作为一个函数来调用。Reflect的所有属性和方法都是静态的(就像Math对象)Reflect.apply()对一个函数进行调用操作,同时可以传入一个数组作为调用参数。和 Function.prototype.apply() 功能类似。let obj = { name: "张三",...
Proxy的构造方法target参数被代理的对象handler参数代理的操作的定义对象let handler = { get: function(target, name){ return name in target ? target[name] : "no"; }};let p = new Proxy({}, handler);p.a = 1;p.b = undefi...
使用Function构造器生成的Function对象是在函数创建时解析的。这比你使用函数声明或者函数表达式(function)并在你的代码中调用更为低效,因为使用后者创建的函数是跟其他代码一起解析的。所有被传递到构造函数中的参数,都将被视为将被创建的函数的参数,并且是相同的标示符名称和传递顺序属性function.arguments以数组形式获取传入函数的所有参数。arguments对象是所有(非...
认识 JavaScript 的 prototypeprototype在Java里获取对象的实例一般是通过Class来获取,在ES6以前js中是没有class的概念,获取实例是通过构造方法来获取。function ClassMate(name,age) { this.name = name; this.age = age; this.say = function (){ ...
Object 的属性Object.prototype可以为所有 Object 类型的对象添加属性。Object.prototype Object的原型Object.prototype.constructor特定的函数,用于创建一个对象的原型。Function.prototype.constructor等于本身。Object.prototype.hasOwnProperty()返回一个布尔值 ,表示...
ES6 学习计划Javascript 的 Object JavaScript 的 FunctionJavaScript 中的代理 ProxyJavaScript 中的反射 ReflectPromise 对象使用Generator 函数JavaScript 的 Class认识 JavaScript 的 prototypeJavaScript 异步编程node 学习计划nodejs 多线程编程基于事件...
简介  class声明创建一个基于原型继承的具有给定名称的新类。class是ES6中新出现的一个关键字,但是它大部分功能在ES5中都可以做到。//es5写法function Point(x, y) { this.x = x; this.y = y;}Point.prototype.toString = function () { return '(' + this.x + ', ' + th...
Generator 简介 Generator官方的解释是生成器,但是语法上,首先可以把它理解成,Generator 函数是一个状态机,封装了多个内部状态。 Generator函数首先也是一个函数,语法上在定义时比普通函数多了一个*号,以下方式都时合法的function * foo(x, y) { ··· }function *foo(x, y) { ··· }function* foo(x, y)...
Promise 介绍  Promise是异步编程的一种解决方案,比传统的解决方案—回调函数和事件—更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象。const executor = function(resolve, reject) { /* code */ } new Promise(executor)  executor是带有re...