我正在调试一些JavaScript,并不能解释这||是做什么的?
function (title, msg) {
var title = title || 'Error';
var msg = msg || 'Error on Request';
}
Run Code Online (Sandbox Code Playgroud)
有人可以给我一个提示,为什么这个人正在使用var title = title || 'ERROR'?我有时也会在没有var声明的情况下看到它.
我经常使用var options = options || {}默认为空对象的方式.它通常用于初始化选项对象,以防它未在函数调用的参数中传递.
事情是我在几个地方(博客文章,源代码)阅读,options || (options = {})更好地表达了开发人员的意图.有人可以详细说明吗?我没有看到两者之间的功能差异,所以我必须在这里找到一些东西.
---编辑
我在几个地方看过Backbone.js源代码,比如https://github.com/documentcloud/backbone/blob/0.9.2/backbone.js#L273
我想我也是在jQuery的源代码中也看到过它.并且在多个Js写作风格指南中蓬勃发展.
---编辑2代码示例:
var func = function(param, options) {
// How I do it
var options = options || {};
// How I should do it in the "same" way
options = options || {};
// The "other" way
options || (options = {});
}
Run Code Online (Sandbox Code Playgroud)