Javascript Node.js-未检测到相同的数据
我正在比较从SQL数据库和html表单中得到的两个字符串,但是等号不起作用Javascript Node.js-未检测到相同的数据,javascript,sql,node.js,string,equals,Javascript,Sql,Node.js,String,Equals,我正在比较从SQL数据库和html表单中得到的两个字符串,但是等号不起作用 if (database.recordset[0].name=== myString) { console.log("work"); }else{ console.log("dont work"); } 输出 dont work string string 使用控制台读取数据 console.log(database.reco
if (database.recordset[0].name=== myString) {
console.log("work");
}else{
console.log("dont work");
}
输出
dont work
string
string
使用控制台读取数据
console.log(database.recordset[0].name);
console.log(myString);
输出:
asdasd
asdasd
但如果不起作用
编辑
dont work
string
string
我用了这个:
console.log(typeof database.recordset[0].name);
console.log(typeof myString);
输出
dont work
string
string
在比较MySQL和其他变量时,“==”和“==”运算符之间的主要区别是,以前通过进行类型更正来比较变量,例如,如果将数字与带有数字文字的字符串进行比较,==允许这样做,但===不允许这样做,因为它不仅检查值,还检查两个变量的类型,如果两个变量不属于同一类型,“==”返回false,而“==”返回true
<script>
// In R.H.S. string "3" is converted into
// number 3, hence returns true.
document.write(9 == "9");
// used for next line
document.write('<br>')
// Here no type conversion takes place,
// hence returns false
document.write(9 === "9");
//在R.H.S.中,字符串“3”转换为
//数字3,因此返回true。
文件。写入(9==“9”);
//用于下一行
文档。写入(“
”)
//这里不进行类型转换,
//因此返回false
文件。写入(9==“9”);
下面是另一个字符串示例
//这里L.H.S.是字符串文字,而
//R.H.S.是一个字符串对象,
//由于字符串对象的类型转换为
//一个字符串文本,它返回true。
document.write(“geeksforgeks”==新字符串(“geeksforgeks”);
//用于下一行
文档。写入(“
”)
//没有发生类型转换
document.write(“geeksforgeks”==新字符串(“geeksforgeks”);
Ok尝试在比较之前先将database.recordset[0].name放入一个变量,因为我认为IF语句正在比较对数据库的调用和字符串