- 浏览: 160555 次
- 性别:
- 来自: 上海
最新评论
-
sys234:
[u][/u]
Jquery的each循环和原生循环及html5foreach循环的效率比较 -
sscsacdsadcsd:
挺诡异的 promise/A为什么能写的这么多出来
HTML5之IndexedDB使用详解 -
zhanzhonggang:
if (db.version != "1 ...
HTML5之IndexedDB使用详解 -
rainsilence:
<div class="quote_title ...
NodeJs中的非阻塞方法 -
glchen:
<div class="quote_title ...
NodeJs中的非阻塞方法
文章列表
记得以前写过一篇基于javascript function的类继承链实现。在ECMAScript3.1中,可以把function模拟成类。但是,因为原型链,构造体的实现非常繁琐。
现在各大浏览器升级到ECMAScript5之后,逐渐抛弃了以function来模拟类的思路。而转变为以对象来模拟类的思路。即:
var Cat = {};
以上的代码,可以看成是一个对象,也可以看成是一个类。当然像现在流行的静态语言中,比如java,Class本身就是对象。(究竟是先有对象还是先有类这样究竟是鸡生蛋还是蛋生鸡这样的哲学问题这里不加以讨论)
由此,新的Class函数如下:
...
随着firefox4正式版的推出,IndexedDB正式进入我们的视线。IndexedDB是HTML5-WebStorage的重要一环,是一种轻量级NOSQL数据库。相较之下,WebDataBase标准已经很长时间没有更新,大有被IndexedDB取代的意思。
Section 1:起步,得到Database引用
w3c为IndexedDB定义了很多接口,其中Database对象被定义为IDBDataBase。而得到IDBDataBase用的是工厂方法,即从IDBFactory中取得。浏览器对象中,实现了IDBFactory的只有indexedDB这个实例。
大家可以先看下IDB ...
Function
17: Array.prototype.lastIndexOf
用法和16相似,取得最后一次出现的index
Function 11: Date.prototype.toJSON
提供了从Date类型转成json的方法。
new Date().toJSON(); // "2010-12-06T16:25:40.040Z"
Function 12: Function.prototype.bind
你会发现这个函数的功能和下面的很相似
var arr1 = ['1', '2', '3'],
arr2 = ['4', '5', '6'];
// 等同于arr1.push(arr2);
Array.prototype.push.apply(arr1, ...
Function 4: Object.getOwnPropertyDescriptor
用途:得到一个属性的定义
var person = { name : 'Joe' };
Object.getOwnPropertyDescriptor(person, 'name'); // { configurable : true,enumerable : true, value : 'Joe&', writable : true }
但是这个函数只能适用于函数自身的对象,并不能取得原型链上的属性
Browser Support
○ Firefox 4
○ In ...
Function
1: Object.create
这是一个很重要的改动,现在我们终于可以得到一个原型链干净的对象了。以前要创建一个类
function Cat(name) {
this.name = name;
this.paws = 4;
this.hungry = false;
this.eaten = [];
}
Cat.prototype = {
constructor : ...
大家可以试试看,效果应该完全一致,并且已经在opera,IE,chrome,FF上测试通过
另外在制作过程中的注意点
1.scrollTop属性比较特殊,必须要在内部的div大于外部div的时候才有效果
2.换行要用word-wrap,否则会在FF和opera上失效
3.设置浮动上,IE和其他浏览器存在差异。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
& ...
做Java那么多年了,还是第一次遇到这样的问题
StringBuffer query = new StringBuffer(768);
query.append("12312312");
以上第二句代码报错:The type Comparable is not generic, it cannot be parameterized with arguments<string>
百思不得其解。
在一个过期很长时间的论坛里找到了这样的回答:
The problem is related with classpath. ...
没想到4月份我的一个回帖已经被人转载。。。在我这个正版还没出来之前。。。。
原帖地址
http://topic.csdn.net/u/20100430/11/1e14634d-0045-47f8-9e1b-f8fd52ba1597.html?seed=881844262&r=65101569#r_65101569
其实,回帖中仍然有不全面的地方(txt文件并没有文件头,所以无法用此法判断)
这个方法只能在有限的范围内有效。并不是万金油
比如
图片类型判断,音频文件格式判断,视频文件格式判断等这种肯定是2进制且专业性很强的文件类型判断。
下面给出 ...
S V G(可放缩的矢量图形)是W3C(World Wide Web ConSor—tium国际互联网标准组织)在2000年8月制定的一种新的二维矢量图形格式,也是规范中的网络矢量图形标准。
W3C是作为一个国际X的工业联盟而创建的, 目的是领导整个互联网协作的发展和创新, 以实现科技的进步和共同发展。由于W3C联盟关于SVG的开发工作组的成员都是一些知名厂商, 如Adobe、苹果、Aut0De sk、Bit Fla sh、Corel、惠普、IBM、ILOG、INSO、Macromedia、微软、Netscape、OASIS、Open Text、Quark、RAL(C C LRC)、 ...
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class HttpEngine {
private ServerSocket serverSocket;
public void start() thr ...
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title&g ...
为何要保持标签整洁
客户端的优化近来倍受关注,可是有些较基本的方面却被忽视。如果你仔细观察某些页面(即便是那些本来应该深度优化的页面),很容易就能在他们的标签中找到一大堆冗余的、不高效的结构。所有这些累赘给本来应该尽可能保持轻量级的页面增加了不必要的负担。
保持文档整洁的原因不一定是为了更快的加载速度,更是为了让我们的建筑能有一个结实而牢固的基础,整洁的标记意味着更好的可访问性,更方便的维护,更易被搜索引擎检索,更小的体积仅仅是保持文档整洁的一个附加属性,也是我们应该这样做的另一个理由。
这篇文章里面,我们来瞧瞧html该如何优化:去掉一些不好的标记习惯、通过删除冗余的结构来减小文档体 ...
话不多说了,大家看代码吧
模拟上传提交,发送端
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.UR ...
本文介绍了简单Aop实现的方法,意在抛砖引玉。
首先是简单的Aspect接口
package org.aspect;
/**
* 切面接口
*/
public interface Aspect {
/**
* 事先执行
*/
public void doBefore();
/**
* 事后执行
*/
public void doAfter();
}
然后是代理工厂
package org.aspect;
import java.lang.reflect.Proxy;
import java.util.ArrayLi ...