js 通过if判断条件,进行赋值。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 通过if判断条件,进行赋值。相关的知识,希望对你有一定的参考价值。

这段代码之前已经对params进行定义了(var params = [];) 可是这段代码得到的结果却是params = []; 不管我用什么条件,得到的结果都是我之前定义的结果 ,为什么

params = [] 是不等于 params = 的。甚至 params = , b = 然后用if 判断params 和b是否相等也是不成立的,这点我也是很奇怪。 参考技术A var i=0;
for(var key in cond)
i++;


var j = 0;
for(var key in param)
j++;


if(i==0) params = param;
else if(i!=0&& j==0) params = cond;
else if(i!=0&& j!=0) params = client:req.session.user.client,model:index;追问

为什么要这样写呢 你能告诉我具体吗

追答

测试
var arr=;
arr==

为false

无效,于是改变思路,就是这样简单,没有为什么,就好比是1+1为什么等于2

你也不能告诉我为什么一样

本回答被提问者采纳
参考技术B 问题出在判断那里。
首先搞明白原理:
是一个对象,对象是引用类型,引用类型做判断的时候是判断内存地址,而不是里面是有没有对象。
var a = ;
var b = ;
console.log( a == b); 输出一定为false,因为 a 和 b 都是 var 声明的对象 指向的是两个不同的内存地址。
var a =
var b = a;
console.log( a == b); 这次输出就为 true 了 ,因为 a 把它的 引用的内存地址赋值给了 b 。所以他们相等。
原理给你分析了。if 到底怎么走到哪个分支 你应该就能明白了吧。

以上是关于js 通过if判断条件,进行赋值。的主要内容,如果未能解决你的问题,请参考以下文章

run keyword if判断条件正确后,如何对条件变量进行进行赋值

Javascript 基础学习js 的语句

JS——if条件判断

js的if语句判断条件到底是啥情况

js运算符及if,switch条件判断

vba中if判断条件里等号无法完成赋值操作