问题标签 [weak-typing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
148 浏览

javascript - 试图在工作表中添加到 dateTime

在我的工作表中,我有一个行列表,其中包含 1)日期/时间 2)点值和 3)每小时点的运行平均值。我正在尝试编写一个函数来计算在点数达到某个数字之前还剩多少时间,并将其添加到最新时间以计算出我希望在什么时间获得该点数。

我对 java 脚本和弱类型几乎没有经验。我的问题是,当我尝试向返回的日期值添加一个数字时,我要么得到一个字符串,要么只得到 NaN。我的另一个问题是工作表似乎将日期解释为与 Number() 不同的数字。

如果我的 nextRedeem() 函数只返回 getLatestTime(),我可以获取工作表以显示日期或自 1900 年 1 月 1 日以来的天数或其他任何内容。那时,我可以在一个单元格中添加它。我可以在一个单元格中添加 getLatestTime() 和 daysLeft() 并且它工作正常。我还可以在单​​元格中添加时区偏移量并且它可以工作。但是,当我在此功能中执行此操作时,似乎没有任何效果。我尝试将 .value 添加到函数调用并使用 parseFloat() 但这给了我 NaN。

如何对这些函数返回进行算术运算?

0 投票
2 回答
976 浏览

vba - 将 Staad 与 VBS 一起使用(将 VBA 文档转换为 VBscript)

我正在尝试使用 vbscript 从 Staad(结构分析程序)中提取数据。

Staad 有一个 API 允许这样做,但是,所有文档都在 VBA 中。所以我试图将 VBA 转换为 VBscript,但我遇到了错误。

例如,这里是 Staad 文档中的一些 VBA,用于获取模型中的节点总数:

我尝试将其作为 vbscript 运行,我所做的唯一更改是从变量中删除数据类型。我得到的错误是:

任何人都可以提供任何想法吗?如果有帮助,这里是 GetNodesCount 函数的 Staad 文档:

获取节点数

VB 语法

整数 GetNodesCount(整数 pnNodes)

参数

pn节点

一个整数变量,用于存储函数检索到的节点数。

评论

此函数检索当前打开的 STAAD 文件中的节点数。

例子

将 pnNodes 变暗为整数

objOpenSTAAD.GetNodesCount pnNodes

0 投票
2 回答
212 浏览

compile-time - 当#sum 没有 Nils 的数组时,“Nil:Class 的未定义方法‘零’”

当构建数组的变量nil最初是 a 时,就会出现问题。

v停止处于nil某个条件时,这可能是计算的并且在编译时无法解决:

数组得到更复杂的类型,与当前sum实现不兼容,因此p z.sum会导致编译时错误:

我该如何正确应对?
或者它可能等待 stdlibsum方法或其他任何更好的实现?

UPD:inject给出相同的:

0 投票
3 回答
9436 浏览

java - 如果 Java 是强类型的,那么为什么这段代码会编译?

我对强类型的理解是该语言不会进行隐式类型转换。但是,此代码将 char 转换为它的 ascii 值,然后使用该值。

0 投票
1 回答
51 浏览

php - PHP:分配后的值不正确

我真的不知道发生了什么。故事:我将 PDO 用于数据库上的 SELECT 语句。

所以这很好,它正在工作。当我var_dump$res变量时,我得到如下信息:

那也没关系。但我必须以另一种方式对结果进行排序。所以我在做:

而现在我完全迷失了。通过分配$e['performance']我得到错误的值。实际上这应该是性能值。

我已经检查了数据库中的值,它们是正确的。通过这样做,doubleval()我会得到正确的值,但问题是并非每个值都是双精度值,而且也是整数或字符串。我也尝试使用 (string) 进行类型转换,但结果相同。我没有解释。

更新:

这是一个非常大的项目,我只是尽量减少它,并使我的问题尽可能清晰。但现在我发现了一些新东西:我在循环期间对 normTable 中的第一个变量执行了“echo()”:

并且值从“50.1”变为“50”。还是想不通原因。PHP中的数组有大小限制吗?

更新 2 非常抱歉!

正如我所说,这是一个大项目。所以我读出的表格,有一些属性的一些值两次或更多。其实这种情况不应该发生。这就是答案很简单的原因:它变成了 50,因为分配了 50。我很抱歉耽误了你的时间。但我完全排除了这种情况,因为我也在用 C 编码,所以我的第一个想法是:内存泄漏 - 明确的情况!

谢谢你的帮助。

0 投票
2 回答
392 浏览

typescript - 有没有办法禁用 Typescript 2.4 版引入的弱类型检测?

在 Typescript 2.4 版中添加了弱类型检测。现在我同意这是一个很棒的功能,当您将值分配给没有与该类型的可选属性匹配的单个属性的类型时,它将有助于捕获一大堆错误。

不幸的是,对于一个最初用 Javascript 编写然后迁移到 Typescript 的大型项目,将存在使用弱类型漏洞的情况。

为了允许轻松迁移到 TS 2.4,然后逐步删除所有弱类型攻击 - 是否有人知道标志或黑客可以暂时禁用弱类型检测?

0 投票
2 回答
117470 浏览

php - PHP 中的严格类型有什么作用?

我在 PHP 7 中看到了以下新行,但没有人真正解释它的含义。我用谷歌搜索了它,他们谈论的只是你会启用它还是不喜欢投票类型的东西。

它有什么作用?它如何影响我的代码?我应该这样做吗?

一些解释会很好。

0 投票
1 回答
57 浏览

powershell - 为什么在添加 powershell 字符串和数组时操作数的顺序很重要?

在powershell中,当我添加字符串+数组时,结果是一个字符串,但是当我添加数组+字符串时,结果是一个数组?这是为什么?

字符串加数组 vs 数组加字符串