随笔分类 -  javascript

javascript
摘要:原文:http://www.hacksparrow.com/node-js-exports-vs-module-exports.html你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块。例如:(假设这是rocker.js文件)exports.name = function() { console.log('My name is Lemmy Kilmister');};在另一个文件中你这样引用var rocker = require('./rocker.js');rocker.name(); // 'My name is Lem 阅读全文
posted @ 2013-01-14 14:00 穆乙 阅读(58805) 评论(11) 推荐(5) 编辑
摘要:当我新建一个express配置的应用时,会自动创建一套应用构架:其中:public放置静态的东西,css、image、jsroutes放置路由views放置模板看一下appjsvar express = require('express') , routes = require('./routes') , user = require('./routes/user') , http = require('http') , path = require('path');var app = express();app. 阅读全文
posted @ 2013-01-14 10:32 穆乙 阅读(6168) 评论(2) 推荐(1) 编辑
摘要:Express利用HTTP动作提供了有意义并富有表现力的URL映射API,例如我们可能想让用户帐号的URL看起来像/user/12的样子,下面的例子就能实现这样的路由,其中与占位标识符(本例为:id)相关的值可以被req.params获取到。URL路径和参数看起来没有任何分别,真正的区别在于,将被哪个对象获取,例如:下面例子和对应的URL:http://..../user/12,user将匹配路径,12将匹配参数:id,它将被req.params对象获取到。app.get('/user/:id', function(req, res){ res.send('user & 阅读全文
posted @ 2013-01-14 09:24 穆乙 阅读(4079) 评论(0) 推荐(1) 编辑
摘要:原文:http://developer.51cto.com/art/201112/306738.htm本文向您介绍Node.js扩展模块——Hashish。Hashish是JavaScript的一个Hash组合子库,换句话说,它包含了一系列数据结构操作功能。例如:var Hash = require('hashish');Hash({ a : 1, b : 2, c : 3, d : 4}).map(function(x) { return x * 10}).filter(function(x) { return x < 30}).forEach(funct... 阅读全文
posted @ 2013-01-10 13:24 穆乙 阅读(655) 评论(0) 推荐(0) 编辑
摘要:以往我们在开发php程序调试的时候,每修改一次,可以直接去浏览器浏览,不需要重启服务。但是在开发nodejs程序,调试的时候,无论你修改了代码的哪一部分,都需要重启服务才能生效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入。。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启 Node.js。supervisor的安装也很简单:直接用npm安装既可,键入命令: np 阅读全文
posted @ 2013-01-08 14:18 穆乙 阅读(47640) 评论(9) 推荐(5) 编辑
摘要:相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼。有关nodejs的相关资料网上已经铺天盖地。由于它的高并发特性,造就了其特殊的应用地位。国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/这里不想谈太多的n... 阅读全文
posted @ 2013-01-08 09:27 穆乙 阅读(174687) 评论(4) 推荐(4) 编辑
摘要:escape定义和用法escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。语法 escape(string)参数描述string必需。要被转义或编码的字符串。返回值已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。说明该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。提示和注释提示:可以使用 unescape() 对 escape() 编码的字符串进行解码。注释:ECMAScript v3 反对使用该方法,应用使用 decodeUR 阅读全文
posted @ 2013-01-05 16:54 穆乙 阅读(3444) 评论(0) 推荐(0) 编辑
摘要:用惯了jquery的同学,相信都很欣赏其动画引擎。确实相对比较完善!如果,如果想像力足够丰富的话,相信可以做出超出想像的效果。当然,跟2d库比起来,还是相差相当一段距离。jquery压根也不是专门为动画而设计的。模拟真实世界方面,还是不足的。但在web世界里还是游刃有余的。动画其实一直是flash的专属领地(web区哉)。只是它常常沦为黑客攻击的漏洞所在,而且要装插件,有时候文件实在太大,而且性耗实在是高啊。html5出现后,其实adobe自己都转移阵地到html5了。当然,我觉得很长一段时间内,flash是不会被放弃的。长话短说,步入正题。仿照flash的动画原理,自己写了一个非常简单的js 阅读全文
posted @ 2012-12-04 13:49 穆乙 阅读(41806) 评论(5) 推荐(4) 编辑
摘要:table下面appendChild别忘了tbody 阅读全文
posted @ 2012-11-29 14:53 穆乙 阅读(1763) 评论(0) 推荐(0) 编辑
摘要:转文请标明 --- 出处:穆乙 http://www.cnblogs.com/pigtail/execScript将指定的字符串当做脚本来执行,ie和早期的chrome支持,新版本的chrome已经不支持这个方法,下面我们模拟一个:<!DOCTYPE HTML><html><head><meta charset="gb2312"><title>execscript将指定字符串作为脚本执行</title></head><body><script> // 将指定字符串作为 阅读全文
posted @ 2012-09-20 21:52 穆乙 阅读(9183) 评论(0) 推荐(1) 编辑
摘要:if (typeof(element.onselectstart) != "undefined") { // IE下禁止元素被选取 element.onselectstart = new Function("return false"); } else { // firefox下禁止元素被选取的变通办法 element.onmousedown = new Function("return false"); element.onmouseup = new Function("return ... 阅读全文
posted @ 2012-09-11 16:52 穆乙 阅读(31770) 评论(1) 推荐(1) 编辑
摘要:字符含意\做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。-或-对正则表达式功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。 ^ 匹配一个输入或一行的开头,/^a/匹配"anA",而不匹配"Ana" $ 匹配一个输入或一行的结尾,/a$/匹配"Ana",而不匹配"an 阅读全文
posted @ 2012-09-11 10:09 穆乙 阅读(591) 评论(0) 推荐(0) 编辑
摘要:javascript链式调用方法,是个有用的小技巧,可以节省大量的代码,看下例子:(function(arg){ alert(arg) return arguments.callee; })('第一次')('第二次')当然,把方法加进去,我们还可以扩展如下:(function(fn,arg){ var args = Array.prototype.slice.call(arguments); args.shift().apply(null,args); return ar... 阅读全文
posted @ 2012-09-10 20:56 穆乙 阅读(893) 评论(0) 推荐(1) 编辑
摘要:http://kangax.github.com/es5-compat-table/ 阅读全文
posted @ 2012-08-15 13:47 穆乙 阅读(1625) 评论(0) 推荐(0) 编辑
摘要:注意:一、等iframe里面的文件加载完才可以访问;二、contentDocument ie6/7不支持;所以采用了contentWindow.document。如果不兼容这两个可以用 document.getElementById("myframe").contentDocument.getElementById("bframe").contentDocument.getElementById('test').innerHTML;三、top.frames["myframe"].frames["bframe& 阅读全文
posted @ 2012-08-02 14:10 穆乙 阅读(2280) 评论(0) 推荐(0) 编辑
摘要:执行环境执行环境定义了变量和函数有权访问的其他数据,决定了他们各自的行为。每个执行环境都有一个与之关联的变量对象(variable object),环境中定义的所有变量和函数都保存在这个对象上,虽然我们在编写代码的时候无法访问这个对象,但解析器在处理数据时会在后台用到它。ECMAScript实现的宿主环境不同,表示的执行环境对象也不一样。在javascript中,可执行的JavaScript代码分三种类型: 1. Global Code,即全局的、不在任何函数里面的代码,例如:一个js文件、嵌入在HTML页面中的js代码等。 2. Eval Code,即使用eval()函数动态执行的JS代码。 阅读全文
posted @ 2012-07-19 23:32 穆乙 阅读(3263) 评论(7) 推荐(3) 编辑
摘要:var YFTools = { $:function(id) { return document.getElementById(id); }, addHandler:function(element,type,handler) { if (element.addEventListener) { element.addEventL... 阅读全文
posted @ 2012-07-18 09:06 穆乙 阅读(583) 评论(0) 推荐(1) 编辑
摘要:基本类型和引用类型ECMAScript包含两个不同类型的值:基本类型值和引用类型值。基本类型值指的是简单的数据段;引用类型值指由多个值构成的对象。当我们把变量赋值给一个变量时,解析器首先要做的就是确认这个值是基本类型值还是引用类型值。常见的五种基本数据类型是:Undifined、Null、Boolean、Number和String。这五种基本数据类型可以直接操作保存在变量中的实际值。看下面例子:var a = 10;var b = a; b = 20;console.log(a); // 10 var bl = true;var bl1 = bl; bl1 =... 阅读全文
posted @ 2012-06-29 16:11 穆乙 阅读(2905) 评论(0) 推荐(2) 编辑
摘要:Error对象Property: name: 错误名 number: 错误号 description: 描述 message: 错误信息,多同description FF Only 属性 fileName: 错误发生的文件 stack: 错误发生时的调用堆栈 Constructor: Error(){ this(0,"")} Error(description){ this(0,description)} Error(number,description){ ....} 构造函数参数不带name,是因为Error对象的name对应于它的来源: EvalError: 错误发生 阅读全文
posted @ 2012-06-20 15:46 穆乙 阅读(367) 评论(0) 推荐(0) 编辑
摘要:var x = prompt("Enter a number between 0 and 10:","") try { if (x > 10) { throw "Err1"; } else if (x < 10) { throw "Err2"; } } catch(er) { if (er == "Err1") ... 阅读全文
posted @ 2012-06-20 15:28 穆乙 阅读(660) 评论(0) 推荐(0) 编辑