javascript - javascript = vs == 带有 if 和 else 语句
问题描述
我有一个变量var stIm = '';
,我试图将它放入 if 和 else 语句中。
当我有
if (stIm = ''){}else{}
它只运行 if 部分
if (stIm == ''){}else{}
它只运行其他部分
有谁知道如何解决这个问题?===
行得通吗?
解决方案
首先
var stIm = '';
if (stIm = '') { // assignment with a falsy value
console.log('if');
} else {
console.log('else');
}
分配一个虚假值(如undefined
, null
, 0
, false
, 空字符串''
)并转到该else
部分。
但第二个有效。
var stIm = '';
if (stIm == '') {
console.log('if');
} else {
console.log('else');
}
但是最好使用不强制值并首先按类型检查左右操作数然后按值检查的身份/严格相等运算符。===
推荐阅读
- r - 应用于分组数据框中的组的两个日期之间的工作日数
- excel - 如何在 Excel 工作簿选项卡中创建宏以打开 MS Project 并复制参考单元格
- sequelize.js - 雪花云数据库是否有任何 Sequelize 驱动程序?
- c# - 向远程 WebDriver 服务器发送 HTTP 请求以获取 URL,引发了具有空响应的异常
- reactjs - 如何从公共文件夹 reactjs create-react-app 加载 css & js
- bash - 试图将我的 sudo 命令转换为 bash 脚本
- javascript - 是否可以在 d3 墨卡托地图中有很大的区域可以悬停/触摸以显示工具提示?
- python - 如何将 for 循环应用于 os.path.join()
- html - Bootstrap html不同的字体和样式内联
- flutter - 如何在颤振中复制 tumblr 标签