`
文章列表
深入理解Javascript闭包 最近在网上查阅了不少Javascript闭包(closure)相关的资料,写的大多是非常的学术和专业。对于初学者来说别说理解闭包了,就连文字叙述都很难看懂。撰写此文的目的就是用最通俗的文字揭开Javascript闭包的真实面目。     一、什么是闭包?   “官方”的解释是:所谓“闭包”,指的是一个拥有许多变量和绑定了这些变量的环境的表达式(通常是一个函数),因而这些变量也是该表达式的一部分。   相信很少有人能直接看懂这句话,因为他描述的太学术。我想用如何在Javascript中创建一个闭包来告诉你什么是闭包,因为跳过闭包的创建过程直接 ...
自身类作为事件监听器 外部类作为事件监听器 匿名内部类作为事件监听器 内部类作为事件监听器 自身类作为事件监听器: import javax.swing.*; import java.awt.*; import java.awt.event.*; /** *Java事件处理机制:自身类作为事件监听器 *@author Winty(wintys@gmail.com) *@version 2008-12-3 */ class ThisClassEvent extends JFrame implements ActionListener{ JButt ...

删除VIM中 ^M

    博客分类:
  • VIM
:%s/<Ctrl-V><Ctrl-M>//g http://stackoverflow.com/questions/811193/how-to-convert-the-m-linebreak-to-normal-linebreak-in-a-file-opened-in-vim
public void removeSmartTAOBAOad() { uiwebview.loadUrl("javascript:"+ "var evt = document.createEvent('MouseEvents');"+ "evt.initEvent('click', true, true);"+ "var i=0;"+ "setTimeout(function(){check_click( ...
restore_utf8.py #!/usr/bin/env python # -*- coding: utf-8 -*- # Run "python restore_utf8.py" to rename *.h.utf8 to *.h. # import os def restore_utf8(dir): resultfn = '' for fn in os.listdir(dir): sfile = os.path.join(dir, fn) if os.path.isdir(sfile): ...
iframe获取父级url 通过js获取父级iframe url,也可以是当前页面的上一个页面地址 var url = ""; try { url = window.top.document.referrer } catch(M) { if (window.parent) { try { url = window.parent.document.referrer ...
图1:信息搜集及整理术循环图 写在前面 几个月前,团队邀我做次内部的分享,主题是如何有效搜索信息。这是因为平时工作中,我经常会分享一些专业学习文档,而这些文档的出现往往很及时,回应一些我们自己项目的困惑 ...
MySQL数据库服务器逐渐变慢 该如何分析与解决 第一步 检查系统的状态 通过操作系统的一些工具检查系统的状态,比如CPU、内存、交换、磁盘的利用率,根据经验或与系统正常时的状态相比对,有时系统表面上看起来看空闲,这也可能不是一个正常的状态,因为cpu可能正等待IO的完成。除此之外,还应观注那些占用系统资源(cpu、内存)的进程。 1.1 使用sar来检查操作系统是否存在IO问题 #sar -u 2 10 — 即每隔2秒检察一次,共执行20次。 结果示例: 注:在redhat下,%system就是所谓的%wio。 Linux 2.4.21-20.ELsmp (YY075) 05/19/200 ...
UTF-8编码问题编码长度问题 UTF-8经常被用于文本文件和网络传输,因为不少这类场合还停留在ANSI时代,需要向纯ASCII兼容。UTF-8是UNICODE的一种变长字符编码 ,长度在1至6字节。这里注意一下,UTF-8曾经是6字节,现在是4字节, 两者都对。 但如果你看到介绍UTF-8的文章说是6字节,基本可以判断这是比较早的文章。在 内容只是ASCII的0X00~0X7F时,UTF-8与ASCII或各种ANSI编码(如GB,JISKSC,ISO-8859-1)的ASCII部分 完全兼容,也是用1字节的低7位表示。这就保证文本编辑器打开的UTF-8格式文档中,即使扩展字符无法显示,但A ...
Linux上批量删除.svn目录 在上传项目到服务器的时候,有时候忘记在本地将.svn 目录删除掉了. 现在来介绍下在Linux下,利用shell命令来删除.svn目录 find . -type d -name ".svn"|xargs rm -rf

Josephus问题

据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特後,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。 然而Josephus 和他的朋友并不想遵从,Josephus要他的朋友先假装遵从,他将朋友与自己安排在第16个与第31个位置,于是逃过了这场死亡游戏。 php 实现代码 $person_num = 41; $person_count = 3; $persons = ar ...
Tmux 的常用命令详解  常用命令: tmux #开启tmux tmux ls #显示已有tmux列表(C-b s) tmux attach-session -t 数字 #选择tmux C-b c 创建一个新的窗口 C-b n 切换到下一个窗口 C-b p 切换到上一个窗口 C-b l 最后一个窗口,和上一个窗口的概念不一样哟,谁试谁知道 c-b w 通过上下键选择当前窗口中打开的会话 C-b 数字 直接跳到你按的数字所在的窗口 C-b & 退出当前窗口 C-b d 临时断开会话 断开以后,还可以连上的哟:) C- ...
diff和patch使用指南   diff和patch是一对工具,在数学上来说,diff是对两个集合的差运算,patch是对两个集合的和运算。   diff比较两个文件或文件集合的差异,并记录下来,生成一个diff文件,这也是我们常说的patch文件,即 ...
Apple:如何在iphone、ipad上安装一些常用命令行命令 相信对Linux、Unix比较熟悉的朋友,在iphone或 ipad越狱后发现通过Cydia可以安装OpenSSH,一定都想安装上并且通过ssh登录上去看看,但是登录后却发现几乎没几个命令可用,也就只有ls、cd等一些常用的命令,至于ifconfig、ping、netstat等都没有。。。 下面就来介绍一下如何让iphone或 ipad拥有Linux、Unix常用的命令。 1、首先你的iphone或 ipad得先越狱,越狱后才有Cydia,才能安装OpenSSH。 2、记住在使用Cydia的时候,要选择“Developer” ...

Vim的snipMate插件

    博客分类:
  • VIM
Vim的snipMate插件 介绍 终于发现了一个插件,对于Vim下代码块的自动补全支持的很好。给大家推荐snipMate。 snipMate可以帮助您在vim上实现类似Textmate的功能,自动代码块的能力非常强大,而且代码块是可定制的。我们只需编辑~/.vim/snippets/目录下的*.snippets文件就可以根据自己的要求自动产生代码。 使用 下载snipMate,解压到你的Vim目录。 完成之后,新建一个测试文件snipMateTest.php准备测试 vim snipMateTest.php 然后按照下面的方式开始测试snipMate: 输入for,再按tab键 输入 ...
Global site tag (gtag.js) - Google Analytics