Latest Entries

[顶]这个BLog的性质和问题说明

因为我本来是因为想发些感慨(或者说牢骚)才开的这个BLog, 而发笔记和技术研究仅仅是“顺手”的事情……所以这个BLog的分类是“学术文艺”(神棍/民科……)
事实上笔记和技术研究的文章都很短……

而我的外语水平实在不怎么好,但出于某种无耻的原因我还是会偶尔把一些博文译成英文……
至于其它问题呢,就是我用IE8B2以“IE8标准模式”随便打开这个BLog的任何一个页面都会出现一些奇妙的排版问题……我想这应该是IE8B2自身的问题吧……

笔记:用于ServerXMLHttp的Cookie容器 / CookieContainer For ServerXMLHTTP

可能有BUG,还没全面测试过。
This might be buggy.

继续阅读

笔记:JavaScript兼容细节 / Note: Tweak your JavaScript for Compatibility


//IE, FF, Opera, GC

function(){
alert("hello!");
}();
//x,x,o,x

function(){
alert("hello!");
}.call();
//x,x,o,x

(function(){
alert("hello!");
}());
//o,o,o,o

var a = function(){
alert("hello!");
}();
//o,o,o,o
//语法问题

alert(eval("{}"));
//x,x,x,x

alert(eval("({})"));
//o,o,o,o
//语法问题

alert(eval("function(){}"));
//x,x,o,o

alert(eval("(function(){})"));
//x,o,o,o

alert(eval("[function(){}][0]"));
//o,o,o,o
//应该是BUG

("l".a)();
//o,o,o,o

"l"["a"]();
//o,o,o,o
//和"l".a()等价

继续阅读

传统JavaScript的真正力量 / Discovery The Full Power of Classic JavaScript

Object.prototype.inherit = (function inherit(){
var caller = arguments.callee.caller;
caller && ((caller == caller.prototype.constructor) || (this instanceof caller) && caller.prototype.constructor.apply(this, arguments));
});

(function(){
var $kw = 1;
var prw = "protect" + ["", "ed", "ee"][$kw];

function mk(o){
var p = {};
o[prw] = eval("[function " + prw + "(n){\r\nreturn pick(ensure(this, o, p), n);\r\n}][0]");
return p;
}

function pick(p, n){
return p && (n ? p[n] : p);
}

function ensure(ds, o, p){
var caller = arguments.callee.caller;
return caller.caller && (ds instanceof caller.caller) && ((o == ds) ? p : mk(ds));
}

mk(Object.prototype);
})();

笔记:一个蛋疼的XHR回调函数


function xhrCallback(xhr, resolver){
return (function(){
var state = xhr.readyState;
var status = xhr.status;
resolver[state] ? (resolver[state][status] ? resolver[state][status].call(xhr) : (resolver[state].$ && resolver[state].$.call(xhr)), resolver[state]._ && resolver[state]._.call(xhr)) : (resolver.$ && resolver.$.call(xhr));
resolver._ && resolver._.call(xhr);
});
}

用法:

var xhr = new XHR;
xhr.open("GET", "http://yoursite/", true);
xhr.onreadystatechange = xhrCallback(xhr, { 4 : { 200 : (function(){
alert("Hello, Web!");
}), $ : (function(){
alert("Oops!");
}), _ : (function(){
document.write("Mission accomplished");
}) } });

xhr.send(null);

Appendix

自我介绍

Author:优雅的神棍 / Elegant Tales
神棍你好,神棍再见。

最新引用

QR

QR

羔羊们啊

Powered By FC2博客

马上开始博客吧!!

Powered By FC2博客

加为好友

和此人成爲好友

搜寻栏