javascript – 如何确定变量是否未定义

前端之家收集整理的这篇文章主要介绍了javascript – 如何确定变量是否未定义前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

参见英文答案 > How to check for “undefined” in JavaScript?                                     16个
在关于SO的另一个问题中,我正在确定如何切换一个函数,工作解决方案是这样的:

我把var disabledFlag = true;在我的页面的head部分和调用shell.js之前,然后在shell.js中我有:

  1. /*******************************/
  2. /* TOGGLE BUTTON
  3. /*******************************/
  4. var toggleBlock = function() {
  5. console.log(disabledFlag);
  6. if(!disabledFlag){
  7. var windowsize = $(window).width(),isDesktop = windowsize > 765;
  8. $("#quicksearch").toggleClass("collapse in",isDesktop);
  9. $("#quicksearch").toggleClass("collapse out",!isDesktop);
  10. $("#sidebar").toggleClass("collapse in",isDesktop);
  11. $("#sidebar").toggleClass("collapse out",!isDesktop);
  12. }
  13. else {
  14. $("#quicksearch").addClass("collapse out");
  15. $("#sidebar").addClass("collapse out");
  16. }
  17. }
  18. $(document).ready(toggleBlock);
  19. $(window).on("resize.showContent",toggleBlock);
  20. toggleBlock();

shell.js是与其他站点共享的公共文件,可能没有定义变量.如何检查变量是否已定义,如果不将其赋值为false,然后执行上面的代码

最佳答案
有比使用三元组或if语句更简单的方法.

就你的具体功能而言,你可以这样做:

  1. var toggleBlock = function() {
  2. var disabledFlag = disabledFlag||false;
  3. if(!disabledFlag){
  4. //etc.

undefined是假的,所以它适用于逻辑||操作符.那|| operator使新的var disabledFlag设置为disabledFlag(如果存在),如果不存在,则将var设置为false

在许多不同的环境中使用相同的概念.例如:

情况1 –

  1. var obj = {hello: 'world'};
  2. function fn(object) {
  3. var object = object || {foo: 'bar'};
  4. return object;
  5. }
  6. fn(obj) // ==> {hello: 'world'}

情况2 –

  1. function fn(object) {
  2. var object = object || {foo: 'bar'};
  3. return object;
  4. }
  5. fn(objectThatDoesntExist); // ==> {foo: 'bar'}

在JavaScript库和模块模式项目中,这个概念经常以许多不同的方式使用.

猜你在找的jQuery相关文章