相关疑难解决方法(0)

构造x = x ||是什么 你的意思是?

我正在调试一些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声明的情况下看到它.

javascript parameters optional-parameters or-operator

230
推荐指数
9
解决办法
11万
查看次数

`var options = options ||之间的区别 {}`和`选项|| (options = {})`

我经常使用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)

javascript

6
推荐指数
2
解决办法
3444
查看次数