Entries Tagged ‘javascript’:

JavaScript 全半角转换

规律:半角空格的 charCode 为 32, 全角空格为 12288. 其他半角字符 ( 33 – 126 ) 与全角 ( 65281 – 65374 ) 的对应关系是:均相差 65248.

找好规律,代码就好写了:

var hash = {'32' : '\u3000'};
// 半角转全角
function sbc2dbc(str) {
    var ret = [], i = 0, len = str.length, code, chr;
    for (; i < len; ++i) {
        code = str.charCodeAt(i);
        chr = hash[code];
        if (!chr && code > 31 && code < 127) {
            chr = hash[code] = String.fromCharCode(code + 65248);
        }
        ret[i] = chr ? chr : str.charAt(i);
    }
    return ret.join('');
}

阅读全文 »

Tags: , , ,

字符引用和空白字符

看到最近有讨论,前些日子刚好也收集过一些资料,补充如下:

字符引用

在 html 中,有三种字符引用方式(参考 HTML5 规范):

  1. Named character references, 通过名称来引用。在 HTML 4.01 中称之为 Character entity references(字符实体引用)比如 &lt; &gt; &nbsp; &quot;, 这里有一份详细列表 named-character-references
  2. Decimal numeric character reference, 通过十进制数值来引用。比如 &#229; &#1048;
  3. Hexadecimal numeric character reference, 通过十六进制数值来引用。比如 &#xe5; &#x6C34;

在 HTML 4.01 中,上面 2 和 3 归为一种:Numeric character references(字符数值引用)。
这里有份非常好的对照表:XHTML Character Entity Reference
阅读全文 »

Tags: , , ,

jQuery 让人恋恋不舍的秘密

jQuery 将马上发布 1.4 正式版,代码也从 googlecode 上迁移到了 github. jQuery 是我接触的第一个 JS 类库,俗话说初恋总是让人难以忘记。一年以前,这种难以忘记仅仅是一种纯感觉,说不出来具体原因。前几天重新看了一遍 github 上的源码。从纯功能上说,jQuery 并没有特别出色的地方。究竟是什么让我如此恋恋不舍呢?

昨天搭建 taskspeed, 检查 jQuery 的测试代码时,突然明晓了一个也许大家都已知道的秘密:

jQuery 最出色最让人恋恋不舍的是它的 API 设计。
阅读全文 »

Tags: , , ,

重构之美 – Switchable 组件开发心得

slideshare 在线观看:The Beauty Of Refactoring
ppt 下载:重构之美.pptx
src code:/trunk/src/widget-switchable
the beauty of refactoring
欢迎讨论交流。

Tags: , , , , , ,

可能被你忽略的 JavaScript 代码陷阱

下面这段代码,你知道有哪些错误吗:

var g_bar = "bar";
function foo(container, config) {
    var container = container || document,
        name = config.name || "无名氏",
        isLive = config.isLive || true;

    var g_bar = g_bar || "";

    if(g_foo) {
        /* your code */
    }
}
foo(document, {isLive: false});

请仔细思考后再往下阅读。
阅读全文 »

Tags: ,

Page 1 of 101234510...Last »