将函数的默认参数设置为布尔值的正确方法
Proper way to set a function's default parameter to a boolean?
我有一个函数read()
,作为布尔参数。如果false
被传入- read(false)
-它不应该运行代码块。它适用于以下三种变体,但我不确定它们之间的区别或是否重要?
但是我不明白这些变化之间的区别。
这三种变体都有效。
this.first_time_here = first_time_here !== false;
var first_time_here = first_time_here !== false;
var first_time_here = first_time_here || false;
<<p> 读函数/strong> function read (first_time_here) {
var first_time_here = first_time_here !== false;
// check to see what the function thinks first_time_here is
console.log("first time here is: " + first_time_here);
if (typeof first_time_here === 'boolean') {
console.log('Yes, I am a boolean');
}
if (first_time_here) {
// do something if true
};
};
谢谢
如果您希望使用假值,请使用typeof
:
var x = typeof x !== 'undefined' ? x : false;
否则,如果这样做:
var x = x || true;
并传入false
,则x
的值为true
这是因为Javascript中的自动转换概念,将undefined
值转换为false
。因此,三行代码是相似的,以确保变量first_time_here
是false
,而不是undefined
。
如果first_time_here
是undefined
:
first_time_here = undedined !== false -> first_time_here = false != false
-> first_time_here = false;
:
first_time_here = undedined || false -> first_time_here = false || false
-> first_time_here = false;
相关文章:
- 如何从javascript/jquery中的复选框中获取布尔值
- KendoUI网格行过滤器,带有布尔值下拉列表
- php布尔值's小写AND大写和数字布尔值'可以接受
- 谷歌地图的插值方法
- select中布尔值的Angularjs ng值不起作用
- 由于布尔值的变化,Django视图中的字符串格式不正确
- MeteorJs Alded autoform,如何从布尔值复选框中获得所需值
- 将字符串动态转换为布尔值
- 将布尔值存储在隐藏字段中以进行表单处理
- 类型错误:布尔值不是 Angular 中登录函数的函数
- Yui Get 复选框返回数组而不是布尔值
- 无法使用HTML5 Web存储保存布尔值的解决方法
- 为什么这个对象方法不返回布尔值Javascript
- 将布尔值传递给 jQuery 插件的最万无一失的方法是什么?
- 检查隐藏的布尔值以运行方法
- 如何根据布尔值更改jQuery方法
- 返回一个布尔值的Angularjs自定义服务方法
- 将函数的默认参数设置为布尔值的正确方法
- Mongoose findByIdAndUpdate 方法,用于切换和更新数据库中的布尔值
- 为搜索的键/值对返回布尔值的最简单方法(Javascript)