小编Tho*_*mas的帖子

在多个文件上拆分Javascript类(ES6)?

我有一个Javascript类(在ES6中)已经很长了.为了更好地组织它,我想将它分成2或3个不同的文件.我怎样才能做到这一点?

目前它在单个文件中看起来像这样:

class foo extends bar {
   constructor(a, b) {} // Put in file 1
   methodA(a, b) {} // Put in file 1
   methodB(a, b) {} // Put in file 2
   methodC(a, b) {} // Put in file 2
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript oop ecmascript-6

9
推荐指数
3
解决办法
4932
查看次数

使用Javascript中的utf-32编码缩短utf-8字符串?

我正在尝试找到一种在Javascript中压缩/解压缩字符串的方法.通过压缩我的意思是使字符串看起来更短(更少char).那是我的目标.

以下是事情应该如何运作的一个例子:

// The string that I want to make shorter
// It will only contain [a-zA-Z0-9] chars and some ponctuations like ()[]{}.,;'"!
var string = "I like bananas !";

// The compressed string, maybe something like "????",
// which is shorter than the original
var shortString = compress(string);  

// The original string, "I like banana !"
var originalString = decompress(shortString);
Run Code Online (Sandbox Code Playgroud)

这是我的第一个想法(也许有更好的方法来达到我的目标,如果是这样,我对它感兴趣).

我知道我的原始字符串将是utf-8.所以我正在考虑使用utf-32进行编码,它应该将字符串的长度除以4.

但我不知道如何使用不同的编码来构造这两个函数来构造新的字符串.这是我到目前为止的代码不起作用......

function compress(string) {
    string = unescape(encodeURIComponent(string));
    var newString = '';

    for (var i = 0; i …
Run Code Online (Sandbox Code Playgroud)

javascript compression string encoding utf-8

9
推荐指数
2
解决办法
1492
查看次数

通告错误:"全局安装预设时,无法找到相对于目录的预设'最新'

我像这样在全球安装了Babel:

npm install -g babel-cli
npm install -g babel-preset-latest
Run Code Online (Sandbox Code Playgroud)

我知道不建议全局,但我更喜欢这种方式来保持我的目录清洁(没有node_modules /,没有package.json)

然后我在ES5中用ES6编写了一个mainES6.js文件,所以我这样做:

babel mainES6.js -o mainES5.js --presets latest
Run Code Online (Sandbox Code Playgroud)

我得到这个消息: Error: Couldn't find preset "latest" relative to directory "/path/to/my/file/"

如何做到这一点?

javascript npm babeljs

7
推荐指数
1
解决办法
4815
查看次数

CSS中的三角形,整个宽度是否具有固定高度?

我正在尝试在CSS中创建一个三角形,它使父级的整个宽度具有固定的高度.

我用这样的线性渐变成功地做到了这样:

.triangle {
    width: 100%;
    height: 120px;
    background: linear-gradient(to right bottom, blue 50%, transparent 50%);
}
Run Code Online (Sandbox Code Playgroud)
<div class="triangle"></div>
Run Code Online (Sandbox Code Playgroud)

但对角线看起来并不清晰.如何在不使用渐变的情况下在CSS中执行相同的操作?

html css shape

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

使用“快捷方式”功能会给我一个“非法调用”错误

我在 Javascript ES6 中有这个代码:

// Create a new object
var foo = new A();

// Create shortcuts to use localStorage faster
foo.set = window.localStorage.setItem;
foo.get = window.localStorage.getItem;

// Try to use localStorage 
foo.set('count', 1);
Run Code Online (Sandbox Code Playgroud)

但是最后一行我得到了“非法调用”,我不明白为什么。

知道如何解决这个问题吗?

javascript local-storage ecmascript-6

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

如何将十六进制数压缩为短字符串?

我有一个长度未知的十六进制数,我想将其转换为尽可能短的字符串。稍后能够将新字符串转换回原始数字。

\n\n

由于每个数字只有 4 位,我想将数字转换为 UFT-16 或 UFT-32 字符串。这将创建一个带有奇怪字符的短字符串。

\n\n

假设示例:0x874FAB41900C ->“\xc3\x9a\xce\x94\xd0\x82” -> 0x874FAB41900C。

\n\n

所以我正在寻找的是两个像这样的 Javascript 函数:

\n\n
function hexToString(hex) {\n    for (var i=0; i < hex.length; i++) {\n        // convert the digits into UFT-16\n    }\n\n    return string;\n}\n\nfunction stringToHex(string) {\n    for (var i=0; i < string.length; i++) {\n        // convert the char back into hex values\n    }\n\n    return hex;\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

知道如何做到这一点吗?

\n

javascript compression encoding hex converters

2
推荐指数
1
解决办法
9015
查看次数