小编Pan*_*sht的帖子

为什么对象比Safari JavaScript中的类型化数组快

我正在使用Javascript vp8解码器进行工作,因此在这种情况下,对于Safari来说,需要一切都尽可能快,因为Webkit浏览器是目标平台。

需要运动矢量的结构。它几乎是一个2个字符的对象:

var test = { x:0, y:1 }
var testArray = new Uint8Array(2);
Run Code Online (Sandbox Code Playgroud)

这个

test.x = (test.x | 0 + 1) | 0;
test.y = (test.y | 0 + 1) | 0;
Run Code Online (Sandbox Code Playgroud)

在野生动物园中比这快得多:

testArray[0] = (testArray[0] + 1) | 0;
testArray[1] = (testArray[1] + 1) | 0;
Run Code Online (Sandbox Code Playgroud)

但是其他浏览器则相反。

为什么...?

尝试jsperf:https://jsperf.com/obj-vs-struct-7

在ios(仅桌面浏览器)上,编辑伪结构更快。

javascript safari performance webkit typed-arrays

5
推荐指数
0
解决办法
219
查看次数

表情符号区域不显示表情符号窗格

我正在使用Emojione Area JavaScript 插件。但是,我只显示文本区域,没有表情符号窗格。

这是我的 HTML 文件:

    <html>
    <head>
        <link rel="stylesheet" href="https://cdn.rawgit.com/mervick/emojionearea/master/dist/emojionearea.min.css">
        <script type="text/javascript" src="https://cdn.rawgit.com/mervick/emojionearea/master/dist/emojionearea.min.js"></script>
        <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
        <link rel="stylesheet" href="stylesheet.css">
    </head>
    <body>
        <script>
            $(document).ready(function() {
                $("#emojionearea1").emojioneArea({
                    pickerPosition: "left",
                    tonesStyle: "bullet"
                });
        </script>

        <div class="row">
            <div class="span6">
                <textarea id="emojionearea1">Default :smile:</textarea>
            </div>
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript area emojione

5
推荐指数
1
解决办法
4157
查看次数

如何使用javascript将RGBA转换为Hex颜色代码

我试图转换rgba为十六进制颜色代码,但无法转换不透明度值剩余颜色我能够转换,

以下是我的代码

var colorcode = "rgba(0, 0, 0, 0.74)";

var finalCode = rgba2hex(colorcode)

function rgba2hex(orig) {
    var a, isPercent,
    rgb = orig.replace(/\s/g, '').match(/^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i),
    alpha = (rgb && rgb[4] || "").trim(),
    hex = rgb ?
    (rgb[1] | 1 << 8).toString(16).slice(1) +
    (rgb[2] | 1 << 8).toString(16).slice(1) +
    (rgb[3] | 1 << 8).toString(16).slice(1) : orig;
  
    if (alpha !== "") { a = alpha; }
    else { a = 01; }
    hex = hex + a;
  
    return hex;
}

console.log(finalCode)
Run Code Online (Sandbox Code Playgroud)

在这里,我需要alpha值也转换为十六进制代码. …

javascript css3

5
推荐指数
3
解决办法
3491
查看次数

Javascript中的严格模式

我目前正在学习Javascript并遇到了"严格模式"一词.我知道它用于向编译器表明应该更严格地检查代码.然后我继续测试这个:首先我尝试了这个:

function test() {
    "use strict";
    a = 4;
    alert(a);
}
Run Code Online (Sandbox Code Playgroud)

我没有收到警报,并认为由于错误被抛出而非常合乎逻辑,因为未定义"a".然后我尝试了这个:

{
    "use strict";
    a = 4;
    alert(a);
}
Run Code Online (Sandbox Code Playgroud)

刷新页面后,显示警告"4".所以我的问题是什么时候严格的模式"工作",什么时候不是?

javascript

4
推荐指数
1
解决办法
55
查看次数

在javascript中创建数组并在闭包内附加值

我正在使用此代码 -

var gArray = (function (value) {
    var array = [];
    return function () {
        array.push(value);
        return array;
    }
}());

gArray(1);
gArray(2);
gArray(3);
Run Code Online (Sandbox Code Playgroud)

我期待这段代码 [1, 2, 3]

但我得到了 [undefined, undefined, undefined]

javascript

0
推荐指数
1
解决办法
722
查看次数

标签 统计

javascript ×5

area ×1

css3 ×1

emojione ×1

performance ×1

safari ×1

typed-arrays ×1

webkit ×1