javascript - 赋值作为参数

标签 javascript

我在这里遇到了一些以前从未见过的语法:http://appendto.com/2010/10/how-good-c-habits-can-encourage-bad-javascript-habits-part-1/

(function( skillet, $, undefined ) {
  //Private Property
  var amountOfGrease = "1 Cup";
  //Public Method
  skillet.toString = function() {
    console.log( skillet.quantity + ' ' +
                 skillet.ingredient + ' & ' +
                 amountOfGrease + ' of Grease' );
    console.log( isHot ? 'Hot' : 'Cold' );
  };
}( window.skillet = window.skillet || {}, jQuery ));

据我了解,作者正在检查 skillet 对象的全局作用域,如果存在,则将其传递到 IIFE 中,我只是有点不清楚传递 的值>window.skillet = window.skillet 是。

作业评估作业的值(value):

var x = 1;
var y = x = x;
console.log(y); //1
console.log(y = (x = x)); true

但是由于如果未定义,window.skillet 将会是错误的,为什么作者不简单地传递这个:

( window.skillet || {}, jQuery )

最佳答案

作者的做法将确保 window.skillet 不再是 undefined(如果它本来就是这样的话)。然后,该值被传入。您建议的方式最终将传入相同的值,但是 window.skillet 仍然是未定义的。

作者可以执行以下操作以使其更具可读性:

// preceding code....
    if(!window.skillet) {
        window.skillet = {};
    }
}( window.skillet, jQuery ));

关于javascript - 赋值作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23807357/

相关文章:

javascript - 动态添加新行 bootstrap-datetimepicker 不起作用

javascript - 如何编写 n 阶贝塞尔曲线

javascript - 为什么我不能通过对象中定义的字符串调用 setter?

javascript - 如何通过点击DataTable同一行的Edit按钮获取Id值

javascript - JQuery 无法检测 PHP Echo 的结果

javascript - 如何使用 jquery 循环遍历具有嵌套对象的数组?

javascript - 以随机顺序运行单元测试有什么意义?

javascript - 访问 json 对象的最佳或正确方法?

javascript - 焦点功能在这里有什么用?谁能解释下面的代码吗?我是初学者,所以我需要了解焦点功能的使用

javascript - 如何动态更改html背景