
JavaScript
文章平均质量分 51
Qbian
javaEE && Android && 前端爱好者
展开
-
JavaScript原型
JavaScript原型讲解,原型链继承原创 2016-12-22 13:39:47 · 350 阅读 · 0 评论 -
NodeJs异步IO
一、异步的应用对于前端开发人员来说,异步编程再普遍不过了(ajax)。对于服务端(java)开发人员来说,也存在异步编程,相关编写可参见Java分类下的“java编写异步处理方法提升系统性能”该篇文章,这里也就不放传送门了。对于移动端所有的触发事件也都是异步的,相关开发人员应该也都是很熟悉的。二、异步和同步的比较在java中如果需要发起网络请求,假设我们已经封装好了一个方法,如下:Log.log("原创 2018-02-25 10:57:15 · 828 阅读 · 0 评论 -
V8垃圾回收机制
一、NodeJs执行环境我们都知道在chrome浏览器内JavaScript是在v8上解释执行的,NodeJs就是基于JavaScript环境和语言编写的,它的执行环境也就离不开v8了。放张图来说明一下浏览器和NodeJs执行环境的对比。上图可用看到,在浏览器中因为需要渲染UI界面(HTML,CSS),所以多出来了浏览器的WebKit内核以及底层也会调用到显卡来显示渲染界面。而NodeJs的使用场景原创 2018-02-25 10:55:42 · 1357 阅读 · 0 评论 -
electron 提供SDK接口注入到远端页面使用
一、加载远端页面在main.js内通过 BrowserWindow 对象加载远端页面,如下所示:'use strict';const electron = require('electron')const globalShortcut = electron.globalShortcut;// Module to control application life.const app = elec原创 2018-02-24 13:46:33 · 7832 阅读 · 1 评论 -
JS Object静态方法讲解
一、Object.assign()将多个对象的可枚举属性拷贝到目标对象上,并且返回赋值后的目标对象。 Object.assign(target, …sources)target:目标对象…sources:源对象测试如下:var source1 = { name1: 'source1', age1: 18};var source2 = { name2: 'source2',原创 2018-02-24 13:46:00 · 1467 阅读 · 0 评论 -
qbian-express
照着node的express框架我自己也封装了一个很简单的拥有基础功能的qbian-express框架。一、项目目录结构:- app.js- qbian/- qbian/index.js- qbian/MIME.js- static/- static/index.html- static/login.html- static/css/- static/css/index.css-原创 2018-02-24 13:45:26 · 227 阅读 · 0 评论 -
JavaScript exec()
使用exec方法多次匹配一段文本中指定格式的内容。例如将文本内的 <img class="emoji smile" title="微笑"/> 替换为 [微笑]let reg = new RegExp(/<img[^>]*title="([^"]*)"[^>]*/>/, 'g'); var result; while ( (result = reg.exec(text)) != nul原创 2018-02-24 13:44:50 · 1814 阅读 · 0 评论 -
JS this取值的四种模式
一、函数简介在JavaScript中每一个函数的内部,除了声明时定义的形式参数外,每个函数还附加了两个参数:this 和 arguments。参数arguments是一个数组类型的变量,数组中的值就是实际调用函数时传进来的参数列表。在定义函数时会有函数的形式参数parameters,在具体调用函数时,当实际参数arguments的个数与形式参数parameters的个数不匹配时,不会导致运行时错误。原创 2018-02-24 13:44:15 · 6058 阅读 · 0 评论 -
JS_模块模式
一、js模块化规范js在es6之前是没有模块化的,所以后来有了nodejs的commonjs规范以及amd规范等的出现。二、模块模式的产生根据YUI规约,我们不应该定义更多的对象在window上。所以就需要将不同功能模块的js定义在同一个对象上。这就促使了模块模式的出现。三、代码示例window.qbian = window.qbian || {};window.qbian.module1 = (f原创 2018-02-24 13:43:29 · 551 阅读 · 0 评论 -
JS_观察者模式
一、js中观察者模式的使用js是一门事件驱动的语言,所以在其语言内部存在大量的观察者模式的使用案例。 例如各种dom事件的监听函数等。其与观察者模式配合使用也是最完美的。二、代码示例下面我们定义一个供继承使用的Events功能模块,如下所示:function Events() {}Events.prototype = { events: {}, emit: function(name, ..原创 2018-02-24 13:42:47 · 257 阅读 · 0 评论 -
JS_发布订阅模式
一、发布订阅模式的由来发布订阅模式是在观察者模式的基础上又抽象了一层,上一篇文章《JS_观察者模式》中我们也有说过,触发事件的对象和观察事件的对象必须是同一个对象,这也是观察者模式的不足所在,正是在此缺点的基础上,发布订阅模式由此产生。发布订阅模式不要求发布消息的生产者和订阅消息的消费者是同一个对象,更不会限制发布者的个数以及生产者的个数。也就是说我们可以创建多个发布者对象共同发布消息,发布到多个主原创 2018-02-24 13:42:06 · 1189 阅读 · 0 评论 -
AngularJs的服务及其包装器讲解
一、服务的创建方式:1、通过 factory 构造函数创建服务 2、通过 service 构造函数创建服务 3、通过 provider 构造函数创建服务 4、通过 constant 构造函数创建服务 5、通过 value 构造函数创建服务下面讲解一下各种方法创建服务的不同之处:// —————————-factory、serviceName和provider————————– ...原创 2016-12-30 15:37:22 · 279 阅读 · 0 评论 -
AngularJs的controller 多次执行问题
在路由配置信息里:myApp.config(['$routeProvider', function($routeProvider) { // 路由配置 $routeProvider .when('/login', { controller : 'login' , templateUrl : './model/login.htm...原创 2017-04-12 09:59:17 · 5396 阅读 · 1 评论 -
JavaScript模块化规范commonJs、AMD、CMD
一、CommonJSCommonJS 原来叫 ServerJS,是以在浏览器环境之外构建 JavaScript 生态系统为目标而产生的项目,比如在服务器 和桌面环境中。 CommonJS 规范是为了解决 JavaScript 的作用域问题而定义的模块形式,可以使每个模块它自身的命名空间中执行。 该规范的主要内容是,模块必须通过 module.exports 导出对外的变量或接口,通过 r...原创 2017-01-12 15:04:58 · 332 阅读 · 0 评论 -
NodeJs模块机制
一、CommonJs规范讲到nodejs的模块化就不得不讲CommonJs规范了,在以前的文章里也有讲过CommonJs相关使用,具体使用可以到JavaScript类别下查看,这里就不放传送门了。在这里就不多做赘述了,下面就说一下基本的用法。导出模块 module.exports:// DateUtil.jsclass DateUtil { static getDate() {原创 2018-02-25 10:58:00 · 1940 阅读 · 0 评论