JavaScript字符串比较总是返回true
JavaScript string comparison always returns true
我正在使用AngularJS做我的第一个项目,现在我遇到了一个无法理解的JavaScript问题。也许这对JS方面更有经验的人来说是微不足道的,如果是这样的话,我希望你们能帮助我:)
我在函数中做了这个字符串比较,它从视图中接收作为参数传递的id,然后将其与服务中保存的对象的id进行比较:
for (var i = 0; i < this.Sessions.length; i++) {
if (this.Sessions[i].sessionId === sessionId) {
for (var j = 0; j < this.Sessions[i].Instances.length; j++) {
if (this.Sessions[i].Instances[j].instanceId === instanceId);
{
console.log("InstanceId's: " + this.workoutSessions[i].Instances[j].instanceId + " " + instanceId);
//Do stuff and return.
}
}
}
}
当我运行该方法时,所有实例的instanceId都将计算为true。。为什么?据我所知,我只是在比较字符串,但我想不是。外部比较起到了应有的作用,这让我更加陌生。
控制台中的输出,显示无论字符串的值如何,它们的计算结果都为true。
实例ID:l0h34qzzgdlpu8fr 42p9smh9kxdsfw29
实例Id:42p9smh9kxdsfw29 42p9sm 9kxdsfw 29
我真正想做的是在找到正确的实例后立即停止函数,但如果我在if-块中放入返回语句,我的编译器告诉我j++语句是不可访问的,这表明无论表达式是真的,并且。。。我简直无法理解。
如何从视图传递参数:
<div ng-repeat="instance in session.Instances">
//Some form controls here...
<div style="float: right;">
<button class="btn btn-default" ng-click="addOne(session.sessionId, instance.instanceId)"> + 1</button>
<button class="btn btn-default">Remove</button>
</div>
</div>
有人能帮忙吗??
提前谢谢。
if (this.Sessions[i].Instances[j].instanceId === instanceId);
结尾的冒号似乎是罪魁祸首。。。
删除if子句中的分号。
您的代码将与相同
if (this.Sessions[i].Instances[j].instanceId === instanceId)
{
;
}
{
console.log("InstanceId's: " + this.workoutSessions[i].Instances[j].instanceId + " " + instanceId);
//Do stuff and return.
}
相关文章:
- 对于loop.if-仅在经过所有间隔后返回true
- 如果函数返回True,则显示Javascript按钮
- Javascript If else 只返回 TRUE 或只返回 FALSE
- 过滤器返回true或false
- 我对“;返回true"嵌套函数内部;t工作
- 如何在成功输入时使“返回TRUE”
- 检查一个元素是否有一个类与另一个类总是返回true
- JavaScript函数未返回true
- 如果URL中有任何字符串变体匹配,则返回true
- 如何使以下函数返回true或false
- 使用“in”关键字检查 0 始终返回 true
- hasOwnProperty 在对照父对象属性进行检查时返回 true
- 为什么 isNaN 总是返回 true
- _.数组中的每个查找值都返回 true 或 false.使用下划线 JS
- 错误地返回true
- 为什么asp:LinkButton服务器端事件没有'当clientClick返回true时,t激发
- 阻止表单提交 javascript 为什么有一个明显的错误语句返回 true
- Node js命令器args返回true而不是值
- 如何将html表单与php链接,以便在例如单击按钮时返回true
- 从OnClientClick调用函数时,在JavaScript中返回true