我有以下虚拟测试脚本:
function test() {
var x = 0.1 * 0.2;
document.write(x);
}
test();
Run Code Online (Sandbox Code Playgroud)
这将打印结果0.020000000000000004
,只应打印0.02
(如果您使用计算器).据我所知,这是由于浮点乘法精度的误差.
有没有人有一个很好的解决方案,以便在这种情况下,我得到正确的结果0.02
?我知道有类似的功能toFixed
或舍入将是另一种可能性,但我想真正打印整个数字没有任何切割和舍入.只是想知道你们其中一个人是否有一些漂亮,优雅的解决方案.
当然,否则我会转到大约10位左右.
我正在尝试为CSS网格实现辅助组件.我喜欢(准备自己):
<ColumnContainer columns={[ "1em", "1fr", "auto", "auto", "1em", "auto"]}>
<ColumnContainer.Row>
{ rowIdx => (
<div style={{ gridRow: rowIdx, gridColumn: "1 / 3" }}>
</div>
)}
</ColumnContainer.Row>
</ColumnContainer>
Run Code Online (Sandbox Code Playgroud)
ColumnContainer
:
div
具有display: grid
各种网格属性的容器然后,ColumnContainer.Row
:
ColumnContainer
- 因此使用上下文提供的上下文是一个整数,layoutVersion
只要该行要更改(以触发重新呈现),并且 - 黑客攻击 - 一个空数组,它就会递增.
这个想法是,在每次ColumnContainer.Row
渲染时,它将自身(可以是任何对象)添加到其上下文中传递引用的数组,并将子函数与数组的大小一起呈现为参数(行索引).
信不信由你,这适用于第一次渲染,如果行只是添加到最后.
但是,当组件添加到组件DOM的"中间"时,生成的渲染行是无序的(但不重叠).我认为,在新布局版本(重新渲染)的情况下,所有ColumnContainer.Row
s都被重新渲染,但不一定是它们所处的"自然"顺序,即在DOM中.
我的猜测是,根据render()
以某种顺序调用的组件是一个坏主意,以及修改上下文属性的内容render()
.
我还有什么选择 - 我真正想要的是了解组件树中后代节点的"自然"顺序.如果它们是直接子元素,我猜它会很容易 - 在我的情况下虽然我有嵌套的组件可以输出行.
Initial code looks like this..
var oTable = $('#sim_data').dataTable( {
aoColumns: [ {"sName": "ss" },{"sName": "sim_no"}, {"sName": "sale_price"}, {"sName": "purchased_price"},{"sName": "status"} ]
}).makeEditable({
.....
});
Run Code Online (Sandbox Code Playgroud)
只有当我尝试按上述方法初始化aoColumns时才会返回错误
Cannot read property 'fnSetData' of undefined
Run Code Online (Sandbox Code Playgroud)
并且没有这个初始化它的工作原理
var f = function() {
this.x = 5;
(function() {
this.x = 3;
})();
console.log(this.x);
};
f.call(f);
f();
f.call();
Run Code Online (Sandbox Code Playgroud)
var f
作为f.call(f)
输出运行5
。当作为f()
或f.call()
输出运行时3
。
在每种情况下会发生什么?内部功能this
指的是什么?
我有一个带有自定义关闭处理程序的PHP命令行应用程序:
<?php
declare(ticks=1);
$shutdownHandler = function () {
echo 'Exiting';
exit();
};
pcntl_signal(SIGINT, $shutdownHandler);
while (true) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://blackhole.webpagetest.org');
curl_exec($ch);
curl_close($ch);
}
Run Code Online (Sandbox Code Playgroud)
如果我在进行CURL请求时使用Ctrl+ C终止脚本,则无效.命令只是挂起.如果我删除自定义关闭处理程序,Ctrl+ C立即杀死CURL请求.
为什么在定义SIGINT
处理程序时CURL是不可杀死的?
Facebook的网络浏览机器人是否尊重文件中的Crawl-delay:
指令robots.txt
?
如果我有这样的类型,如何使用GORM存储嵌入式结构
type A struct {
point GeoPoint
}
type GeoPoint struct {
Lat float64
Lon float64
}
Run Code Online (Sandbox Code Playgroud)
GORM尝试将其添加到新表中,但我想将其添加为另一个字段.
如何才能做到这一点?
我已经安装了laravel 5.3和护照包.我一步一步地遵循文档,我可以使用POST /oauth/token
以下参数和以下参数
我收到以下回复
{
"token_type": "Bearer",
"expires_in": 31536000,
"access_token": "access token here",
"refresh_token": "refresh token here"
}
Run Code Online (Sandbox Code Playgroud)
然后我要求 GET /api/user
使用以下标题
这工作正常,所以所有apis.
我遇到的问题是我在第一次请求中自我验证并输入了用户名和密码并返回给我的访问令牌的用户是我从laravel web view/register创建的用户
如何从api路由文件创建新用户或注册新用户
喜欢 POST /api/register
用户第一次需要注册才能在此之后进行身份验证.
我是否应该在没有oauth的情况下创建这条路线进行注册,然后如果注册成功则要求他POST /oauth/token
进行身份验证或者是什么?我错过了什么?
更新已
的clent_secret
是它的权利是在所有用户请求不变或每个用户应该有不同势clent_secret,如果是如何创建aclent秘密,如果它neaded到authinticate用户?
我想将我的代码编译为ES6而不是ES5.这是我的babelrc.
{
"presets": [
[
"env",
{
"modules": false,
"useBuiltIns": true,
"targets": {
"browsers": ["Chrome >= 60"]
}
}
],
["react"],
["stage-2"]
]}
Run Code Online (Sandbox Code Playgroud)
使用babel-cli,可以编译正确的ES6代码.例如
但是当我在同一个babel配置中使用webpack,babel-loader时,我的ES6代码被编译为ES5.
那么如何使用Webpack将ES6 +代码编译到ES6 +?webpack是否将ES6 +代码编译为ES5?
javascript ×5
php ×2
webpack ×2
api ×1
babel ×1
babel-loader ×1
curl ×1
datatables ×1
ecmascript-6 ×1
facebook ×1
go ×1
laravel ×1
node.js ×1
oauth-2.0 ×1
postgresql ×1
reactjs ×1
robots.txt ×1
seo ×1
sigint ×1
this ×1