问题标签 [language-concepts]

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 投票
1 回答
69 浏览

java - Oracle 文档中的错误示例

我阅读了 Oracle 的这篇关于 Java 接口的文章。我认为,提供的示例很糟糕。他们使用以下示例:

Relatable other可以接受RectanglePlus吗?我想不是。据我了解,如果此类将通过接口引用使用,则此类实现将失败,并且有人会尝试将其与 的另一个实现进行比较Relatable,这实际上不是RectanglePlus. 而且我认为,接口的这种用法是有效的,而问题在于实现。

你怎么看?可能是我不明白什么?

0 投票
0 回答
829 浏览

angularjs - NgModelController $parsers 和 $formatters 不适用于 $render 和 $viewValue

我试图理解NgModelController的$formatters$parsers以及这个优秀的例子

我创建了这个演示。但是有几个问题需要澄清

下面是我的主要代码

我的一些困惑也在我的理解之下,如果我错了,请纠正我

  1. 根据我对当前情况的理解

范围值的某些变化(即在具有自定义指令输入框的 ng-model 中)比这意味着viewValue发生了变化

并且如果在没有自定义指令但相同的 ng-model 的情况下在输入框中发生了某些更改,则这意味着modelValue更改了

那正确吗?

  1. 当范围{}在自定义指令中设置为隔离时,为什么更改会反映到具有相同ng-model值 的其他输入框

    因为我们require:'ngModel' 在自定义指令中添加了?

这是正确的吗?

  1. 我们什么时候需要调用$render?根据$render 文件

当需要更新视图时调用它。

所以试过

但输出(另一个文本框和 {{ 表达式 }})不显示大写值:(

需要打电话吗$setViewValue

“更新视图值”

但是如何以及在哪里打电话?我试过了

还可以看到特殊笔记本里面的注释说

如果您为输入元素调用 $setViewValue,则应传递输入 DOM 值。同样重要的是要注意 $setViewValue 不会调用 $render 或以任何方式更改控件的 DOM 值。如果我们想以编程方式更改控件的 DOM 值,我们应该更新 ngModel 范围表达式。它的新值将由模型控制器获取,它将通过 $formatters 运行它,$render 它以更新 DOM。

我不是很明白吗?控制控制的DOM是什么意思

也看到一条线

“与标准输入一起使用时,视图值将始终为字符串”

但是当我在 $parsers => 中查看控制台时,这是Object {what: undefined} 问题所在吗?

  1. 尝试scope.$watch()但没有输出为大写

    /li>

即使这从未被调用,为什么会这样?

请告诉我何时使用$watch以及何时使用$render$viewValue$setViewValue以及如何使用。

0 投票
4 回答
105 浏览

c++ - 何时以及如何决定是否使用演员表?

我正在阅读“ Bjarne Stroustrup 的 C++ 多重继承,发表在 1999 年 5 月号的“C/C++ 用户期刊”上。以下摘录来自相同(第 5/17 页),

4.4 铸造

显式和隐式转换还可能涉及使用 delta 修改指针值:

他向我们展示pb = pc了无需显式转换即可完成。这绝对意味着强制转换是隐式处理的。然后,

  1. 为什么,当我们尝试pc = pb指针时,强制转换是必要的?
  2. 指导这一点的规则是什么,在哪里?
  3. 它与增量值递增/递减指针有关吗?

编辑

Jonathan Mee将此问题标记为“从父母到孩子要采用哪种类型的演员? ”的副本。我害怕,我不同意。我的问题是关于为什么要施放,以及这条指导我们施放或不施放的规则在哪里。我认为背后的逻辑可能相同,但概念完全不同。在他的问题中,他对(坚持不使用动态转换)使用 dynamic_cast 和 static_cast 持怀疑态度。我的怀疑比他还差一些。

0 投票
0 回答
71 浏览

oop - 一种具有函数作用域、类生命周期变量的语言

了这个问题后,我只是想知道是否有任何语言有这个概念。考虑这段任意代码:

因此,静态i变量在 Foo 类的所有实例之间共享,它的生命周期从第一次遇到开始并持续很长时间。我想知道的是,是否有任何语言可以some_magic_keyword定义变量,使变量函数作用域并使其生命周期等于它的类生命周期,而不是在类的实例中共享它。所以代码可以是这样的:

有一些关于我们是否可以用某种特定语言实现它的问题,但我找不到任何询问是否有任何语言有它。而且它不一定是面向对象的语言,出于显而易见的原因,我想不出任何具有此概念的函数式语言,但是如果您可以进行类比,为什么不呢?

编辑:如果没有任何看起来像,为什么不呢?我的意思是这个概念非常简单。实际上,当我第一次在函数中使用静态变量时,我期待的行为与我在这里问的相同。

0 投票
2 回答
101 浏览

java - 类和原始类型之间的联系?

我以为我了解类(对象)类的概念,但是在 Java API 中阅读它时,我发现了这一点:

原始 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。

0 投票
1 回答
327 浏览

php - 编程概念:什么是将一个数字分成其他整数组?

我知道这必须有一个官方名称,但不幸的是我忘记了这个词。我有一个变化的整数,比如说它的 10。我想把它分成许多组,只要每个组的结果是 3。如果不是 3,剩下的组应该是 1 或 2,因为我只是使用整数。

我也想每 3 次迭代检查一次,但从一开始就非 3 出现在最后,所以 10

数字 = 3,$tag = col-md-4

数字 = 3,$tag = col-md-4

数字 = 3,$tag = col-md-4

数字 = 1,$tag = col-md-12

对不起,如果这是微不足道的

0 投票
4 回答
1781 浏览

c - 为什么我们在 C 中有无符号和有符号的 int 类型?

我是 C 的初学者。我最近了解了2's Complement表示负数的其他方法以及为什么2's complement是最合适的方法。

我想问的是,例如,

现在,对于int类型的转换

标准说:

6.3.1.3 有符号和无符号整数

当整数类型的值转换为_Bool以外的其他整数类型时,如果该值可以用新类型表示,则保持不变。

否则,如果新类型是无符号的,则在新类型可以表示的最大值的基础上重复加减一,直到该值在新类型的范围内。

第一段不能用,因为-3不能用unsigned int.

因此第 2 段开始发挥作用,我们需要知道 unsigned int 的最大值。它可以在limits.h中作为UINT_MAX找到。这种情况下的最大值是这样的计算:4294967295

现在4294967293二进制是11111111 11111111 11111111 11111101-32 的补码形式是11111111 11111111 11111111 11111101,所以它们本质上是相同的位表示,无论我试图分配什么负整数给 unsigned int,它总是相同的。所以 unsigned 类型不是多余的。

现在我知道printf("%d" , b)根据标准这是一种未定义的行为,但这不是一种合理且更直观的做事方式。如果将负数表示为,则表示将是相同的2's Complement,这就是我们现在所拥有的,并且使用的其他方式很少见,并且很可能不会在未来的发展中出现。

因此,如果我们只能有一种类型说 int ,那么现在 if int x = -1then%d检查符号位,如果符号位是则打印负数,1并且%u始终按原样解释普通二进制数字(位)。由于使用 . 已经处理了加法和减法2's complement。因此,这种做事方式不是更直观、更简单。

0 投票
1 回答
39 浏览

php - PHP 架构:在整个系统中保存和使用“常量”

我在服务器架构中使用我的 PHP(像正常一样),在该架构中我有一个传入请求并构建一个传出响应。所有请求属性(如客户端 ID)都被赋予每个子函数和类以使用魔法(如在我的 Mappers 和 Models 和 Helpers 中)。

是否有一个想法来处理请求数据而不将其从一个功能放到另一个功能。

想法 1:使我的请求/响应对象静态。我只有一个请求和一个响应,所以这样做没有问题。

想法 2:在 Session (或类似的)中保存数据。这听起来也很不舒服和沉重。

这样做有另一个想法吗?

0 投票
0 回答
91 浏览

programming-languages - 探寻BASIC中EVAL函数的实际使用

我目前正在重新开发我创建的 BASIC(字节码解释器),但无法决定是否要包含一个eval函数。我怀疑它的用处。

我可以想到一个功能的 2 种用途eval

  • 它似乎是为计算器应用程序量身定做的。但我真诚地认为,真正的开发人员宁愿自己编写代码。
  • 当要求用户提供一些数字时,它将允许输入公式。可能很方便。虽然这听起来不错,但我不记得曾经见过任何提供此类功能的 InputBox。

那么我的问题是:

eval作为通用编程语言(如 BASIC)的一部分,有哪些实际用途?

搜索这个论坛,我发现了 S.Lott关于eval函数的这个观点(尽管是在 Python 中)。
我什至应该费心调查 的用处eval吗?

使用 eval 很弱,这显然不是一个坏习惯。

1.违反“软件基本原则”。您的来源不是可执行文件的总和。除了您的来源之外,还有 eval 的参数,必须清楚地理解。因此,它是不得已的工具。

2.通常是设计不慎的标志。动态构建的动态源代码很少有充分的理由。几乎任何事情都可以通过委托和其他 OO 设计技术来完成。

3.它导致小段代码的动态编译相对较慢。可以通过使用更好的设计模式来避免的开销。

0 投票
2 回答
134 浏览

eiffel - 在 Eiffel 中,实体、变量、字段和参数之间有什么区别?

我已经看到了用于描述埃菲尔铁塔的实体变量参数这些术语,它们看起来与我非常相似,我想了解使用任何一个术语而不是另一个术语背后的意图是什么。

参数——一些例程需要一些数据才能运行。想象一个虚构的功能foo (x, y: INTEGER; z: BOOLEAN)。此例程采用 3 个参数:xyz。调用例程时,必须为其提供三个有效参数,例如foo(6, 92, False). 我们传递给例程的这些值称为实际参数,而定义中定义的占位符称为形式参数

我读过object fields,它指定对象结构内存储值的位置(引用或扩展对象)。

我认为我唯一一次看到术语变量局部变量,内部特征。

并且entity似乎是一个通用术语,用于表示具有名称的数据容器,因此局部变量参数查询(返回一些数据的特征)都是实体的示例。

又会落入哪一类Current局部变量?Result

有人可以帮我用术语吗?