小编Der*_*ard的帖子

如何处理JavaScript中的浮点数精度?

我有以下虚拟测试脚本:

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位左右.

javascript floating-point

552
推荐指数
22
解决办法
34万
查看次数

如何在 webpack 5 中填充节点核心模块

webpack 5 不再对节点核心模块进行自动填充。请问怎么修?PS:我是开发的初学者,所以必须为我很好地描述解决方案。

错误

node.js webpack

57
推荐指数
14
解决办法
4万
查看次数

React:在层次结构中获取组件顺序

我正在尝试为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.Rows都被重新渲染,但不一定是它们所处的"自然"顺序,即在DOM中.

我的猜测是,根据render()以某种顺序调用的组件是一个坏主意,以及修改上下文属性的内容render().

我还有什么选择 - 我真正想要的是了解组件树中后代节点的"自然"顺序.如果它们是直接子元素,我猜它会很容易 - 在我的情况下虽然我有嵌套的组件可以输出行.

javascript reactjs

23
推荐指数
1
解决办法
748
查看次数

数据表错误::无法读取未定义的属性"fnSetData"

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)

并且没有这个初始化它的工作原理

javascript datatables jquery-datatables-editor

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

call()在其自身上下文中的函数

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指的是什么?

javascript this

22
推荐指数
2
解决办法
1117
查看次数

使用自定义信号处理程序的PHP SIGINT不能杀死CURL

我有一个带有自定义关闭处理程序的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是不可杀死的?

php curl sigint

16
推荐指数
2
解决办法
837
查看次数

Facebook和Robots.txt中的Crawl-delay?

Facebook的网络浏览机器人是否尊重文件中的Crawl-delay:指令robots.txt

seo facebook robots.txt

11
推荐指数
3
解决办法
6441
查看次数

如何使用GORM存储嵌入式结构?

如果我有这样的类型,如何使用GORM存储嵌入式结构

type A struct {
    point GeoPoint
}

type GeoPoint struct {
    Lat float64
    Lon float64
}
Run Code Online (Sandbox Code Playgroud)

GORM尝试将其添加到新表中,但我想将其添加为另一个字段.

如何才能做到这一点?

postgresql go

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

使用laravel护照从api路线注册新用户

我已经安装了laravel 5.3护照包.我一步一步地遵循文档,我可以使用POST /oauth/token以下参数和以下参数

  1. 用户名
  2. 密码
  3. client_secret
  4. grant_type
  5. CLIENT_ID

我收到以下回复

{
  "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

使用以下标题

  1. 授权="此处有承载访问令牌"
  2. accept = application/json(可选)

这工作正常,所以所有apis.

我遇到的问题是我在第一次请求中自我验证并输入了用户名和密码并返回给我的访问令牌的用户是我从laravel web view/register创建的用户

如何从api路由文件创建新用户或注册新用户

喜欢 POST /api/register

用户第一次需要注册才能在此之后进行身份验证.

我是否应该在没有oauth的情况下创建这条路线进行注册,然后如果注册成功则要求他POST /oauth/token进行身份验证或者是什么?我错过了什么?

更新已clent_secret是它的权利是在所有用户请求不变或每个用户应该有不同势clent_secret,如果是如何创建aclent秘密,如果它neaded到authinticate用户?

php api oauth-2.0 laravel laravel-passport

9
推荐指数
1
解决办法
1650
查看次数

如何使用webpack将ES6 +代码编译到ES6?

我想将我的代码编译为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 babel ecmascript-6 webpack babel-loader

9
推荐指数
1
解决办法
158
查看次数