关于adodb.stream.LoadFromFile -1参数随机报错的解决办法

bug原因是奇妙的utf两字节标识符.解决办法如下

var oStream = new ActiveXObject("adodb" + ".stream");
oStream.Open();
oStream.LoadFromFile(map_path);
oStream.Charset = "utf-8";
oStream.Position = 0;
var inputdata = "";
var size=parseInt(oStream.Size);
try {
    inputdata = oStream.ReadText();
} catch (error) {
    alert("now running on debug mode,backup to avoid unknown result");
    for(var offset=0;offset<10;offset++){
        try {
            oStream.Position = offset;
            inputdata = oStream.ReadText(size-offset);
            break;
        } catch (error) {
            
        }
    }
}
oStream.Close();

pixi.js的中文换行bug和解决方案

原效果

hack后的效果

PIXI.TextMetrics.tokenize = function (text) {
    const tokens = [];
    let token = '';
    if (typeof text !== 'string') {
        return tokens;
    }

    for (let i = 0; i &amp; lt; text.length; i++) {
        const char = text[i];

        tokens.push(char);
    }

    if (token !== '') {
        tokens.push(token);
    }

    return tokens;
}

原因分析:
原 分 词 针 对 空 格 , 你 写 字 带 空 格 吗 ?

关键词
tokenize wordwarp 中文分词

继续阅读pixi.js的中文换行bug和解决方案

CSS3坠落效果的研究

因为有一个的重力下坠效果需要实现 发现ease-out效果极不理想 于是就研究了一下animation-timing-function
看了一眼 贝塞尔曲线这种东西岂能难倒我这个oh shit ura mapper
有反弹效果的贝塞尔 cubic-bezier(1, 0, 0.8, 1.2)
无反弹效果的贝塞尔 cubic-bezier(0.8, 0, 1, 0.5)
向下投掷效果 cubic-bezier(1, -0.6, 0.8, 1.5)
继续阅读CSS3坠落效果的研究

论如何写代码会被人打死 奇怪的表达式求值

网易2017春招笔试之3:

输入描述:

输入为一行字符串,即一个表达式。其中运算符只有-,+,*。参与计算的数字只有0~9.
保证表达式都是合法的,排列规则如样例所示。

输出描述:

输出一个数,即表达式的值

输入例子:

3+5*7

输出例子:

56

eval("3+5*7".split("").reduce(function(a,b){if((/[+\-*]/.test(b))){return eval(a)+b}else{return a+b}}))