• 1
预览模式: 普通 | 列表

javascript 函数嵌套调用的效率测试

Javascript中函数嵌套定义给我们开发带来了很多便利,但是他的效率怎么样呢? 我做了一个简单的测试。

//test

function func1(a, b) {
	return (function(a, b){
		return (function(a, b){return a+b})();
	})();
}

function func2(a, b)
{
	var nest1 = function(a, b)
	{
		var nest11 = function(){
			return a+b;
		}
		return nest11(a+b);
	}
	return nest1(a,b);
}


function func3(a, b) {
	function nest1(a, b){
		function nest11(a, b){
			return a+b;
		}
		return nest11(a, b);
	}
	
	return nest1(a, b);
}

function nest44(a, b){
	return a+b;
}

function nest4(a, b){
	return nest44(a, b);
}

function func4(a, b) {
	return nest4(a, b);
}

console.time("start1");
for(var i=0; i<1000000; i++) {
	func1(1,1);
}
console.timeEnd("start1");

console.time("start2");
for(var i=0; i<1000000; i++) {
	func2(1,1);
}
console.timeEnd("start2");

console.time("start3");
for(var i=0; i<1000000; i++) {
	func3(1,1);
}
console.timeEnd("start3");

console.time("start4");
for(var i=0; i<1000000; i++) {
	func4(1,1);
}
console.timeEnd("start4");

本代码用nodejs看执行,得到如下的结果:

# node test2.js 

start1: 190ms

查看更多...

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 3116

npm常用命令

 npm install <name>安装nodejs的依赖包

例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本,如npm install express@3.0.6

npm install <name> -g  将包安装到全局环境中

但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm命令

npm install <name> --save  安装的同时,将信息写入package.json中

项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies配置安装所有的依赖包

这样代码提交到github时,就不用提交node_modules这个文件夹了。

npm init  会引导你创建一个package.json文件,包括名称、版本、作者这些信息等

npm remove <name>移除

npm update <name>更新

npm ls 列出当前安装的了所有包

npm root 查看当前的安装路径

npm root -g  查看全局的包的安装路径

npm help  帮助,如果要单独查看install命令的帮助,可以使用的npm help install

https://npmjs.org/doc

分类:web前端 | 固定链接 | 评论: 0 | 查看次数: 4090

PHPCMS乱解读之 pc标签的实现

标 题: PHPCMS乱解读之 pc标签的实现
作 者: web开发网[http://www.zeroplace.cn]
时 间: 2013/07/31 12:15:00
链 接: http://www.zeroplace.cn/article.asp?id=855
说 明: 转载请保留本段文字 

最近电脑硬件出了点问题,现正在修理中呀,敢问各位有没有会修主板那种电路的...

 前面在写 PHPCMSV9 乱解读 之 PHPCMS V9的MVC 的时候有写到phpcms模板解析引擎的部分,但只是解释了一下模板是怎么编译的,没有具体讲其中的每个标签的实现细节。实际上多数的标签都很常规,并没有什么好说的。这里我来写写PC这个标签的实现方法。

 首先还是看到libs/classes/template_cache.class.php这个文件中template_parse这个方法,发现里面有一句代码是用来编译pc这个标签的

$str = preg_replace("/\{pc:(\w+)\s+([^}]+)\}/ie", "self::pc_tag("$1','$2', '$0')", $str);

查看更多...

Tags: phpcms

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 6258

Sublime Text2.0.2破解

直接输入注册码就可以了

 

----- BEGIN LICENSE -----

Andrew Weber

查看更多...

分类:破解调试 | 固定链接 | 评论: 0 | 查看次数: 3648

PHPCMS乱解读之phpcmsv9中的缓存

 在 PHPCMSV9 乱解读 之 PHPCMS V9的MVC 这篇文章中有看到一组global.func.php中的函数,但是那时候没有细讲。

/**
 * 写入缓存,默认为文件缓存,不加载缓存配置。
 * @param $name 缓存名称
 * @param $data 缓存数据
 * @param $filepath 数据路径(模块名称) caches/cache_$filepath/
 * @param $type 缓存类型[file,memcache,apc]
 * @param $config 配置名称
 * @param $timeout 过期时间
 */
function setcache($name, $data, $filepath="', $type='file', $config='', $timeout=0) {
	pc_base::load_sys_class('cache_factory','',0);
	if($config) {
		$cacheconfig = pc_base::load_config('cache');
		$cache = cache_factory::get_instance($cacheconfig)->get_cache($config);
	} else {
		$cache = cache_factory::get_instance()->get_cache($type);
	}

	return $cache->set($name, $data, $timeout, '', $filepath);
}

/**
 * 读取缓存,默认为文件缓存,不加载缓存配置。
 * @param string $name 缓存名称
 * @param $filepath 数据路径(模块名称) caches/cache_$filepath/
 * @param string $config 配置名称
 */
function getcache($name, $filepath='', $type='file', $config='') {
	pc_base::load_sys_class('cache_factory','',0);
	if($config) {
		$cacheconfig = pc_base::load_config('cache');
		$cache = cache_factory::get_instance($cacheconfig)->get_cache($config);
	} else {
		$cache = cache_factory::get_instance()->get_cache($type);
	}
	return $cache->get($name, '', '', $filepath);
}

 

查看更多...

Tags: v9 phpcms 缓存

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 10642

PHPCMSV9 乱解读 之 PHPCMS V9的MVC 

现在的程序设计基本上都讲求MVC,数据与模板分离,单一入口。

这篇文章准先写一写PHPCMSV9的运行和它的MVC是怎么实现的!
 
(习惯问题我喜欢将所有的方法称之为函数,所以下面我如果提到函数的话很可能就是某个类的一个方法)
 

查看更多...

Tags: phpcms v9 php mvc

分类:PHPCMS | 固定链接 | 评论: 0 | 查看次数: 7950
  • 1
博主QQ: 友情链接请找我
QQ群: 灰色档案
返回顶部 关闭