自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小姜哥的技术博客

记录学习和工作的点点滴滴

  • 博客(123)
  • 资源 (5)
  • 收藏
  • 关注

原创 js中的原型和继承

js原型,原型链,继承,私有变量,类变量,静态变量等有关面向对象的内容。

2013-07-23 09:34:19 2091 1

原创 转义字符(\)对JavaScript中JSON.parse的影响

一般来说在JSON.parse的参数包含转移字符的时候会遇到两次转义的问题,其实第一次是字符串本身的转义,第二次是将真正转为js对象的转义。

2013-07-17 09:54:01 15496

翻译 修改构造函数原型——JavaScript中的对象(二)

本文讲述了JavaScript中重写原型后原型不一致的问题和constructor属性指向问题。动态修改原型对象不会在已有对象中生效。重写原型对象后constructor的指向将是不可信的,可以在重写原型后将constructor属性重新赋值。

2013-07-12 09:58:28 2489

翻译 JavaScript细微差别(函数声明与函数表达式及浏览器差异)

我将描述一个JavaScript的古怪问题。幸运的是我之前从未在实际工作中出现问题。我确信function a(){}和var a = function (){}是完全相同的的。

2013-07-11 16:06:05 2057

翻译 消除JavaScript中的if

我的脑海中总在浮现一个问题:“我能不能在写JavaScript的时候不出现if块?” 受Chris Owen对于SmallTalk的阐述启发我写出了类SmallTalk的无if实现。

2013-07-11 15:06:45 1540

翻译 JavaScript中的对象(一)

本文讲述了当对JavaScript内建的原始值进行点(.)操作时解析器的行为。如果你读过Nicholas C. Zakas的《JavaScript高级程序设计》你一定会记得其中对此有详细的解释。

2013-07-11 14:16:56 1738

原创 JavaScript交流贴

这篇博客没有任何技术性问题来阐述,只是希望通过留言的形式和大家一起探讨JavaScript的相关知识。可以包括ECMAScript标准、JavaScript程序设计、JavaScript框架等等。各种和JavaScript相关的问题和知识都欢迎在这里讨论。同时希望大家踊跃提问踊跃踊跃给出自己的问题。

2013-07-11 08:50:34 1966 4

原创 你自认为理解了JavaScript?

CSDN论坛里有个帖子,“你自认为理解了JavaScript?”,Dmitry Baranovskiy在自己的博客里出了五道测试题,测试一下大家是否真的懂JavaScript。我对五道题做了解答,建议大家读读ecmascript标准。

2013-07-05 08:42:01 2803 5

原创 node.js 解析xml BOM问题(xmlreader sax.js)

Email:longsu2010 at yeah dot net之前写了两篇文章关于node.js解析xml,说的是xmlreader,文章如下node.js解析xml(xmlreader)node.js xmlreader无法获取CDATA区问题修复今天程序抛出一个错误,如下:Error: Non-whitespace before first tag. 错误是在sa

2013-06-25 12:06:19 5449

原创 浅谈HTML5 WebSocket

Email:longsu2010 at yeah dot netWebSocket是我现在所在的公司获取数据的主要通道,也是我工作的重要组成部分。今天看同事讨论这个问题,出现了好多有趣的事情,比如说要把WebSocket做成同步的来调试错误(WebSocket是异步全双工通信,标准就是这样的),所以对WebSocket做一个简单的说明,如果有需要后期可能会做一个详细的补充,欢迎关注我的CSDN

2013-06-19 11:13:11 2203

原创 JavaScript微模板substitute.js(参考dojo/string)

Email:longsu2010 at yeah dot net之前写了关于dojo/string模块的文章如下:dojo微模板dojo/string模块dojo模板字符串最佳实践后来一时兴起把dojo/string模块中的substitute方法切出来作为一个独立的微模板使用。已经提交到了github上,地址为https://github.com/notejs/subst

2013-06-14 16:44:29 2741

原创 JavaScript String.replace函数参数说明

Email:longsu2010 at yeah dot netjs String的replace函数的函数签名如下:replace(match/* 字符串OR正则表达式 */, replacement/* 字符串OR函数 */)作用是将源自符串中的match替换为replacement并返回替换后的字符串。如果第一参数是字符串就没什么好说的了,但是要记住此时只在源自符串替换一次m

2013-06-06 10:11:49 2594

原创 dojo模板字符串最佳实践

Email:longsu2010 at yeah dot net之前写了一篇文章介绍dojo/string模块提供的模板处理函数substitute(请参考http://blog.csdn.net/tt361/article/details/8988229),随之而来的一个问题是写模板字符串太麻烦了,涉及到转义等问题。我的建议是将模板字符串写在一个单独文件中,然后使用dojo/text模块

2013-05-29 05:24:07 1897

原创 dojo微模板dojo/string模块

Email:longsu2010 at yeah dot net知道John Resig的JavaScript Micro-Templating的人都知道其简洁性以及实现代码量及少。dojo在dojo/string模块中提供了一个非常简洁的模板替换函数substitute。先来个例子require(["dojo/string"], function(string){ var ht

2013-05-29 02:38:39 2006

原创 dojo异步编程之dojo/promise/all模块(dojo/DeferredList替代者)

Email:longsu2010 at yeah dot net之前写了篇博客“http://blog.csdn.net/tt361/article/details/8924918”,写的是dojo的异步编程(dojo/Deferred模块),本篇博客算是一个补充,写写必须两个Deferred对象都resolve时才调用某函数该怎么做。可以通过dojo/promise/all模块完成,先看

2013-05-14 16:58:02 2282

原创 dojo异步编程 dojo/Deferred

Email:longsu2010 at yeah dot netJavaScript的事件回调真的很棒,比如AJAX获取数据在数据返回时执行某函数,比如websocket获取数据后执行某函数,比如JSONP……dojo的dojo/Deferred用于开启一个异步程序,对于封装通用组件特别有用。下面介绍dojo/Deferred的用法, 从一个小例子开始。(本例使用chrome)

2013-05-14 12:31:06 3081 1

原创 正则表达式的或(|)(一个烂正则表达式引发的博客)

Email:longsu2010 at yeah dot net如题,我很荣幸的宣布,这个烂正则表达式的作者是我。起源于Unix的正则表达式一直是字符串处理的瑞士军刀,今天用这刀写了一段程序,结果与预期的不相符。如下/^Task0|Task1|Task10$/这个正则表达式我期待的结果是只匹配Task0、Task1、Task10三者之一,然而它却能匹配Task11、Task12等任

2013-05-09 10:13:11 1152

原创 dojo/Memory模块隐含bug(dojo1.8.0)

dojo store API规定query方法的第二参数可以传递一个对象,该对象包含如下属性,start(记录的开始位置)、count(从开始位置获取多少条数据)、sort(排序规则)。假设一个Memory实例mstore中有300条数据,执行如下语句:1、mstore.query( { }, { start : 0, count : "10" } ); //返回前十条记录2、msto

2013-05-03 17:04:52 1428 2

原创 如何使dojo组件具有发布和订阅事件的能力

Email:longsu2010 at yeah dot net我对dojo组件的理解是dojo组件分为两类。第一类是可以显示的,即小部件,他们都继承自`dijit/_WidgetBase`或者`dijit/_Widget`,当然dojo官方现在建议继承自前者。第二类是功能类组件,如dojo/aspect等等吧。当然我们可以根据需要自定义这两类组件。假如我们定义一个公共

2013-05-03 10:15:07 2425 2

原创 node.js xmlreader无法获取CDATA区问题修复

Email:longsu2010 at yeah dot net---- 2013-05-02 update ----这个问题在写本博的同时已经提交给xmlreader作者,该问题作者已经修复,请直接使用npm更新。我一不小心竟然成为xmlreader的代码贡献者,真是惭愧。---- update end ----之前写了一篇关于node.js解析xml的文章,写的

2013-04-25 09:51:18 2615

原创 一个Java外行谈如何学Struts2

Email:longsu2010 at yeah dot net1、回忆以前读书的时候在学校里学习过Java SE,当时还用swing做了些个傻傻的窗口什么的。后来学习了Java EE相关知识,也曾要学习过Struts,当时Struts还是2.1版本。正赶上毕业临近,找了一家实习公司,在这个公司接触了Python等语言,这也导致我对编程语言有了自己的认识。以前在学校老师讲到编程语言的时

2013-04-18 13:59:06 2376 1

原创 dojo dom-form模块

Email:longsu2010 at yeah dot net 假设一个场景,现在有一个一百个表单项的表单要提交到服务器端,你可能谨慎的选择了POST方式。再加一个条件,使用websocket与服务器端通信,那么表单提交那套用不上了。如果说让你一个一个表单拼接的话,是不是想掏刀子杀人了?当人谁都会用程序搞定,首先获取到form节点,之后再通过form的elements获取到所有的inpu

2013-04-17 14:22:25 1288

原创 node-tiny(一个超小的node.js数据库)

Email:longsu2010 at yeah dot net最近写程序node.js程序的时候需要用到数据存储,node.js可以使用的数据库中的很多,mongodb、MySQL等等,但是我还是觉得这些数据库太大了,大材小用,更主要的是麻烦。于是我找到了node-tiny,一个非关系型的数据库,有点类似于mongodb。tiny的文档中讲述了这样一个事实,当我们在数据库中搜索数据的

2013-04-12 14:44:17 2584

原创 dojo获取组件(组件对象)的方法总结

Email:longsu2010 at yeah dot netdojo获取组件对象建议使用dijit/registry模块。这是dojo2.0风格的获取方式。该模块提供了如下一些方法供获取组件对象,这里需要注意获取的不是dom对象。1、byId:根据组件的id获取到组件对象。关于id的确定规则"http://blog.csdn.net/tt361/article/details/

2013-04-12 11:59:44 3105

原创 node.js解析xml(xmlreader)

Email:longsu2010 at yeah dot netxml作为一种重要的数据交换格式,我就不相信没人用node.js解析过它。我就随便搜索了一下,果然很多,什么把xml转成json啊,等等吧。我看了下,xmlreader这个模块比较简单,功能上满足我的需求。使用方法简介如下:1、安装。npm install xmlreader2、使用。看代码var xmlr

2013-04-09 15:07:19 26994 7

原创 js构造函数原型(prototype)问题分析(一段烂代码引发的博客)

Email:longsu2010 at yeah dot net很久以前有人发了我如下的代码, 问我有什么问题。今天旧话重提,我索性就写一篇博客分享给大家。事先声明,本博只分析问题,并不提供解决方案(我并不清楚写这段代码的人的真正意图)。代码咋一看很头疼,仔细看更头疼,反正我不会这么写代码。代码如下:function aaa(sColor){ this.color = sColo

2013-04-09 10:54:29 2218 2

原创 dojo1.8树组件使用

dojo树组件现在有两个分支,第一个分支是使用旧store,遵循dojo的data API(该API已经不建议使用,存在于dojo/data文件夹中,但是没办法有的组件还真得用),另一个分支是使用新store,遵循dojo的store API(该API参考IndexDB API,存在于dojo/store文件夹中)。接下来要研究的是第二种情况,由于dojo tree组件还没有完全改写为dojo2.

2013-04-08 16:47:46 1780

原创 js实现面向切面的编程(AOP)

Email:longsu2010 at yeah dot net面向切面的编程(AOP)还是有点意思的,可以在不修改原有代码的情况下增加新功能。有一些js框架实现AOP功能,但是有些时候我们并不能依赖于框架写程序(框架可能很笨重),我们需要自己实现一些适合我们的功能模块。下面是我自己实现的js AOP,实现了before和after功能,仅供抛砖。如下是aspect.js,是实现AOP

2013-04-08 00:58:37 5652 2

原创 我与node.js

Email:longsu2010 at yeah dot net 从第一次接触node.js到现在时间不短了,那时node.js还是0.5版本,现在最新版是0.10版本。从这个版本号你可以发现node.js的版本号很有趣,需要你注意,如0.8.5版本低于0.8.14版本。当时也就是因为好奇所以拿来玩玩,记得是和HTML5的WebSocket一起玩的,现如今WebSocket在我

2013-04-07 19:44:15 1511

原创 node.js jsdom gb系列网页中文乱码问题解决方案

Email:longsu2010 at yeah dot net最近使用node.js写点东西,使用到了jsdom。使用过程中遇到解析GBK或者GB2312编码网页乱码的问题。下面以"http://www.w3school.com.cn"(网页编码gb2312)为例讲解乱码问题及我的应对方案。如下代码是获取id为w3的dom节点并打印该节点的innerHTML属性,由于其中含有中文,所以会输

2013-04-07 19:41:55 5465

原创 node.js Buffer模块

Buffer纯JavaScript是unicode友好的,并不支持二进制数据。当处理TCP流或者文件系统的时候处理字节流是避免不了的,因此node提供了一些操作字节流的方法。原始数据可以被存储在Buffer类中。Buffer类似于整型数组,但是它对应一个原始内存空间,并不在V8的堆空间。一旦Buffer的内存空间分配结束,空间大小将不能被更改。Buffer是global的一个属性,也就是

2013-04-05 20:57:25 3693

原创 node.js os模块

Email:longsu2010 at yeah dot net 这是一个获取系统信息的模块,包括操作系统和硬件信息,但是能力很有限。用法:var os = require("os");node版本:0.8.22os.tmpdir()获取系统的临时目录,经测试windows下该函数名字为tmpDir。os.endianness()获取cpu的

2013-04-03 11:02:06 7033

原创 node.js模块(Modules)

Email:longsu2010 at yeah dot net node的模块系统简洁明了,文件和模块一对一,例如var conf = require(".conf.js");为加载当前目录下的conf.js文件,并将返回值赋值为conf变量,假设conf.js内容如下:conf.js:var key = "the key";exports.key =

2013-04-02 15:13:53 2394

原创 node.js模块之events

Email:longsu2010 at yeah dot net events是node的最核心模块,没有之一。先来个例子:var events = require("events");var emitter = new events.EventEmitter();emitter.on("dataReady", function(data){ // 绑定事件回调函数

2013-04-01 16:24:50 1897

原创 node.js全局变量(Global Objects)

Email:longsu2010 at yeah dot net 有一些对象是在所有模块中都可以使用的(在未导入模块的情况下),实际上他们一部分是全局全局对象,另一部分并不在全局作用域。分别如下:1、global:object, 全局命名空间在浏览器中最顶层作用域是全局作用域,也就是说如果在全局作用域执行var something将定义一个全局变量。在node中和在浏览器中

2013-04-01 15:00:31 4470

原创 dojo发布者订阅者(dojo/topic模块)

dojo/topic为消息订阅者和发布者提供了一个全局消息的集散中心,其与dojo.connect使用同一个集散中心(我的理解是topic可订阅connect发布的信息,反之亦然)。方法简介:topic.subscribe:用于订阅消息,接收两个参数,第一参数为要订阅的消息名字(唯一标识),如"socket/msg_arrive",第二参数为回调函数。subscribe返回

2013-04-01 11:43:48 4353

原创 dojo切面编程(dojo/aspect模块)

简介dojo/aspect提供了切面的编程能力,主要方法before、after、around方法简介:after:1.简介:在目标对象的某方法执行后执行一个函数,需要返回一个值。2.方法签名:after(target, methodName, advisingFunction, receiveArguments);3.参数说明:

2013-04-01 11:21:16 2857

原创 DOJO组件生命周期(the life cycle of dojo widget)

<!--@font-face {font-family:"Times New Roman"}@font-face {font-family:"宋体"}@font-face {font-family:"Garamond"}@font-face {font-family:"Symbol"}@font-face {font-family:"Arial"}@fo

2013-04-01 10:43:32 3547

原创 前端的几个简单问题

今天同事问了我几个问题,一时手贱就发到这里,仅建议初学者阅读。1、使用link标签引入css和使用@import引入css的区别2、js移动dom节点其实关键点是是否移动后要在原位置删除移动的节点,很多初学者都不理解。3、js创建样式

2013-04-01 10:04:05 1113

原创 配置mongoose

Mongoose Web Server是一款易于使用的Web服务器,它可以嵌入到其它应用程序中,为其提供Web接口。Mongoose的简洁性出乎了我的意料,仅仅有一个.exe文件,双击后启动后监听8080端口并以当前.exe所在目录为web根目录。正常启动后会在右下角的托盘中有一个m的下图标。mongoose特别适合在前端开发中使用,也可用于文件共享。假设一个场景,我们现在了dojo的

2013-04-01 09:37:34 2992 1

chrome浏览器官方离线安装包

chrome浏览器官方离线安装包

2015-04-10

dojo1.8文档(dojo1.8 reference-guide)

dojo 1.8并没有提供reference-guide的下载,但是dojo官网在国外,有的时候访问速度真的很慢。reference-guide又是开发中使用频率相当高的文档,我整理了一下供大家下载,很全面。希望对大家有帮助, 不要问我怎么整理的,反正我没费什么劲,问了也不告诉你。

2013-04-20

centos yum rpm安装包集合

yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm yum-3.2.22-26.el5.centos.noarch.rpm 三个安装包

2011-07-01

蚁群算法ppt(我搜集的资料)

一个关于蚁群算法ppt一个关于蚁群算法ppt一个关于蚁群算法ppt

2011-05-04

500强企业面试智力测试题

500强企业面试智力测试题500强企业面试智力测试题500强企业面试智力测试题

2010-11-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除