相关疑难解决方法(0)

Javascript || 或具有未定义变量的运算符

我最近在做一些阅读,我读过的一篇文章来自Opera.

http://dev.opera.com/articles/view/javascript-best-practices/

在那篇文章中他们写道:

JavaScript中的另一个常见情况是,如果未定义变量,则为变量提供预设值,如下所示:

if(v){
  var x = v;
} else {
  var x = 10;
}
Run Code Online (Sandbox Code Playgroud)

这个快捷符号是双管道字符:

var x = v || 10;
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我不能让这个为我工作.是否真的可以检查是否定义了v,如果不是x = 10?

- 谢谢.布赖恩

javascript

31
推荐指数
3
解决办法
3万
查看次数

JavaScript中未定义与已定义的窗口属性

以下两个语句之间有什么区别(在全局窗口的上下文中)?

(function() { return a; } )(); // ReferenceError: a is not defined
(function(a) { return a; } )(); // returns undefined
Run Code Online (Sandbox Code Playgroud)

我认为它与以下内容有关:

  a; // ReferenceError: a is not defined
  window.a; // undefined
Run Code Online (Sandbox Code Playgroud)

看起来第二个函数在范围链中上升并在全局窗口范围结束,其中a不是窗口的属性并因此返回undefined.但是,第一个功能不应该做同样的事情并返回undefined吗?

我发现这个关于未定义与未定义的SO问题,但它似乎更多地应用于变量而不是窗口范围中的属性.

javascript

1
推荐指数
1
解决办法
462
查看次数

标签 统计

javascript ×2