问题标签 [loose-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 投票
4 回答
396 浏览

php - PHP在while循环比较中松散输入

给定以下代码片段:

结果如下:

但是,我也希望它输出Number: 0- 但是 while 循环的计算结果0是 being false,所以循环永远不会到达那一点。如何让循环仅在显式终止false

0 投票
2 回答
1078 浏览

java - 运行时类型解析的 Java 最佳实践

我正在尝试定义一个类(或一组实现相同接口的类),它将表现为松散类型的对象(如 JavaScript)。它们可以保存任何类型的数据,对它们的操作取决于底层类型。

我让它以三种不同的方式工作,但似乎都不理想。这些测试版本只允许字符串和整数,唯一的操作是加法。添加整数导致整数值的总和,添加字符串将字符串连接起来,将整数添加到字符串会将整数转换为字符串并将其与字符串连接。最终版本将拥有更多类型(Doubles、Arrays、可以动态添加新属性的类 JavaScript 对象)和更多操作。

方式一:

...和 ​​DynString1 类似

方式二:public interface DynObject2 { @Override public String toString(); 公共 DynObject2 添加(DynObject2 d);}

...和 ​​DynString2 类似

方式3:

使用 if-else 逻辑,我可以使用 value.getClass()==Integer.class 而不是存储类型,但是对于更多类型,我会更改它以使用 switch 语句,并且 Java 不允许 switch 使用类。

无论如何......我的问题是做这样的事情的最好方法是什么?

0 投票
1 回答
264 浏览

asp.net - ASP.Net 分层通信

我们正在开发一个分层的 Web 应用程序。规格:

  • 3层,数据层,业务层,UI层。
  • 用 C# 编程
  • 数据层使用实体框架

目前我们计划让数据层IEnumerable<T>通过linq 2实体返回业务层,业务层将数据返回到ui层。

由于 ui 层不知道数据层的存在,它如何处理从 BLL 传递给它的 IEnumerable 结果,其中 T 在数据层中定义?

有没有关于如何做到这一点的好例子。请注意,我对松散耦合层的工厂/接口/抽象非常陌生。

我在这里看到了在 ntier 应用程序中传递数据的问题,建议在所有层之间共享实体层......但是我不希望其他层能够查询数据库。

0 投票
8 回答
2293 浏览

php - PHP:代码检查器,因为 PHP 是一种松散类型/动态语言?

我有一个基于 PHP 的小型应用程序,它的大小开始适度增长。

我开始关心管理我的 PHP 代码库,因为PHP是一种松散/弱类型的动态语言

其他人如何管理基于松散/弱类型动态语言的代码?

是否存在用于 PHP 的预解析器,允许我对我的代码库运行检查以识别如下所示的内容?

更新

上面的例子可能不是最好的例子,但本质上,我想传达的是,动态弱类型语言中的某些错误只有在代码在 RUN TIME 在生产环境中运行时才会被发现;然而,其中一些问题通常会在编译时在强类型静态语言中发现。

在将我的代码投入生产之前,如何在 PHP 中找到这些非算法类型的错误,而不必创建大量单元测试?

因此,在投入生产之前,是否存在我可以通过它运行我的 PHP 代码的任何东西,并且这个预处理器会解析我的代码以确保我只使用定义的变量等。基本上,检查我的代码以进行验证非算法类型的用途。例如,不尝试在字符串上执行代数等。

更新 2

请注意,这个问题仍然没有得到回答,因为我正在寻找一种方法来识别 PHP 中这些类型的“编译”类型的非算法错误,而不是运行时间。

0 投票
2 回答
408 浏览

objective-c - 覆盖方法时严格与松散类型

我在“Objective C 编程”中的一个示例中有一个名为 AddressCard 的类,并且我正在实现一个 isEqual: 方法。

NSObject 中此方法的签名使用松散类型的参数:

OTOH,书中的示例代码使用严格类型:

我不确定我是否完全理解编译器在这种情况下的作用。我尝试将 AddressCard 与 NSString ( [aCard isEqual: @"Foo"]) 进行比较,期望出现运行时错误(如果系统使用我的方法)或系统将调用 NSObject 的 IsEqual 版本。

相反,我的方法被调用(即使参数是 NSString 而不是 AddressCard)并在我的 IsEqual: 尝试调用特定于 AddressCard 的方法时引发异常:

这是怎么回事?到底如何将 NSString 传递给期望其他方法的方法?覆盖时更改方法的签名可以吗?

0 投票
3 回答
105 浏览

javascript - 动态 Javascript - 这有效吗?

有人可以告诉我这是否是有效的 javascript 吗?我知道你不能在 c# 中做这种事情,但是 js 是一种更宽松的语言。

具体来说 - 数组名称的动态生成..

更新..

所以我有一个名为 arrMyArray 的数组,它在文档准备就绪时进行了初始化。sender.value = "MyArray" - 但也可以是其他东西,例如 MyArray2

我想动态迭代由 sender.value 值指示的数组。

0 投票
2 回答
143 浏览

php - 非常不寻常的 PHP 行为

对于下面的代码,我得到一个打印任务然后退出的页面,即使任务的值为零。

输出:

但是,如果我将第一行更改为:

它会正常工作,那么为什么字符串'delete'的值等于0?

0 投票
1 回答
127 浏览

php - PHP如何声明/使用嵌套类

我需要一个基本结构的关联数组

如何最好地在 PHP 中实现这种东西?我是否制作了一系列以明显方式嵌套的类?我可以一口气做到这一点吗?我试图在这里模拟一些来自 C++/C/Java 背景的类型安全性。还是我只需要将所有内容作为在整个代码中定义的关联数组进行管理,并希望传递的结构都匹配?

0 投票
1 回答
254 浏览

php - PHP类方法将参数视为对象而不是字符串/动态解释参数数据类型

我今天发现了一些新东西。

我有一个带有典型成员、私有、公共和受保护方法的 PHP 类。

其中一种方法是:

这会发出警告:

json_decode() 期望参数 1 是字符串,对象在 .../File.php 的第 xxx 行

等一下,PHP 不是松散类型和动态解释的吗?

0 投票
2 回答
176 浏览

javascript - 未将变量显式设置为数字会产生 NaN 和后续数学函数

这本身不是问题 - 更多的是一般查询。

以下(工作代码)循环遍历购物车项目表,获取为每个项目输入的价格和数量,并将结果添加到变量“ cartTotal”中。

最初,我声明 cartTotal 时没有给它赋值 0 - 我假设 javascript 的类型很松散,只要将数字添加到它,它就会“知道”cartTotal 是一个数字,因为这就是我被引导到的从我读过的各种帖子/文章中理解。但是控制台记录了 NaN。

也许我对“松散类型”功能的理解有点过于字面意思了。有人能解释一下为什么不给它一个初始值会产生 NaN 吗?