我有一个函数,用给定的构造函数实例化一个对象,传递任何参数.
function instantiate(ctor:Function):any {
switch (arguments.length) {
case 1:
return new ctor();
case 2:
return new ctor(arguments[1]);
case 3:
return new ctor(arguments[1], arguments[2]);
...
default:
throw new Error('"instantiate" called with too many arguments.');
}
}
Run Code Online (Sandbox Code Playgroud)
它是这样使用的:
export class Thing {
constructor() { ... }
}
var thing = instantiate(Thing);
Run Code Online (Sandbox Code Playgroud)
这有效,但编译器抱怨每个new ctor实例,说Cannot use 'new' with an expression whose type lacks a call or construct signature..应该ctor有什么类型?
我已在requirejs全球安装,但node表示无法找到它.
# node tools/mapconv.js
module.js:340
throw err;
^
Error: Cannot find module 'requirejs'
...
# cat mapconv.js
var requirejs = require('requirejs');
...
Run Code Online (Sandbox Code Playgroud)
该模块肯定安装:
# npm ls -g | grep requirejs
??? requirejs@2.1.6
Run Code Online (Sandbox Code Playgroud)
我已经清除了NPM缓存,但没有变化.有没有其他人遇到这个?
Noob问题.我正在尝试用范围编写for循环.例如,这是我想用JavaScript生成的:
var i, a, j, b, len = arr.length;
for (i = 0; i < len - 1; i++) {
a = arr[i];
for (j = i + 1; i < len; j++) {
b = arr[j];
doSomething(a, b);
}
}
Run Code Online (Sandbox Code Playgroud)
到目前为止我最接近的是以下,但是
CoffeeScript的:
for a, i in a[0...a.length-1]
for b, j in a[i+1...a.length]
doSomething a, b
Run Code Online (Sandbox Code Playgroud)
生成的代码:
var a, b, i, j, _i, _j, _len, _len1, _ref, _ref1;
_ref = a.slice(0, a.length - 1);
for (i = _i …Run Code Online (Sandbox Code Playgroud) 的test.html:
<body>
<iframe src="input.html"></iframe>
</body>
Run Code Online (Sandbox Code Playgroud)
input.html:
<input type="text" />
Run Code Online (Sandbox Code Playgroud)
点按文本框内部并尝试输入.一切正常.现在点击文本框外部,然后再次点击内部,或者隐藏并显示虚拟键盘.现在打字不再起作用了.
有没有人见过这个?有什么建议?
branch-a当我发现一个应该在default分支中修复的无关错误时,我正在工作.所以,我想提交一些我的更改default,然后合并default到当前分支,并继续工作.
据我所知,Mercurial不允许直接提交到另一个分支,所以我必须先切换到默认分支.问题是,我不能简单地检查默认分支,因为其他更改会导致冲突.我能想到的一个工作流程是搁置,结帐默认,只取消与修复,提交,结帐分支-a,合并默认值相关的文件,最后取消搁置其余文件.有没有更简单的方法来实现这一目标?
我想构建一个 Promise,但将解决方案推迟到以后。下面的代码创建了一个承诺,但它立即得到解决。我如何控制承诺何时被评估?
var p = new Promise((resolve, reject) => {
resolve(1);
})
.then((p1) => {
console.log(p1 + 1);
});
Run Code Online (Sandbox Code Playgroud)
更新:为了澄清,想要将承诺的声明与其执行分开的原因是then基于一些参数动态添加回调。
我无法在Windows Phone 8上显示FontAwesome图标.
所有设备都使用IE10.两种环境(Dev和QA)都使用IIS7.似乎IE10手机在处理可下载字体方面与IE10平板电脑/台式机有所不同.
还有其他人经历过这个吗?
该let函数保证块内的值不会为空,即使另一个线程在块运行时更改了原始值......听起来不错,但它是如何做到的呢?
var user: User?
user?.let { it ->
// `user` can be null at this point, but not `it`.
}
Run Code Online (Sandbox Code Playgroud)
当该块运行时,编译器如何防止底层对象被释放?参考性强?关键部分?还有别的事吗?
coffeescript ×1
es6-promise ×1
font-awesome ×1
ios7 ×1
kotlin ×1
mercurial ×1
node.js ×1
requirejs ×1
typescript ×1
uiwebview ×1