zqm3351533 2013-07-23 20:55
浏览 888
已采纳

JS中定义函数时的参数定义为undefined

看到大牛们写的js源码,想拜读学习一下。
[code="java"]var KISSY = (function (undefined) {

var host = this,
    S,
    guid = 0,
    EMPTY = '';

S = {
    __BUILD_TIME: '20130701201313',
    ...
};

// exports for nodejs
if (S.Env.nodejs) {
    S.KISSY = S;
    module.exports = S;
}

return S;

})();[/code]

请看以上的代码,为什么在定义匿名函数的时候要加上undefined的参数定义呢? 在我看来该匿名函数执行的时候也没有传任何参数给它,这个的undefined定义是有啥特殊含义吗?谁知道的话能解释一下吗,最好给点例子什么的。

  • 写回答

1条回答 默认 最新

  • 半枝烟飘香 2013-07-24 08:53
    关注

    在 自调用匿名函数 的作用域内,确保undefined是真的未定义。因为undefined能够被重写,赋予新的值。
    undefined = "now it's defined";
    alert( undefined );
    ie now it's defined 可以改变
    firefox undefined 不能改变
    chrome now it's defined 可以改变
    opera now it's defined 可以改变

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 visual studio2022中文乱码无法解决
  • ¥15 关于华为5g模块mh5000-31接线问题
  • ¥15 keil L6007U报错
  • ¥15 webapi 发布到iis后无法访问
  • ¥15 初学者如何快速上手学习stm32?
  • ¥15 如何自动更换布娃娃图片上的衣服
  • ¥15 心理学eprime编程
  • ¥15 arduino esp8266开发
  • ¥15 stm32单片机通过485发送命令给驱动器控制电机转动,同样的代码f103可以控制电机转动,换到f407不能动了,但是用串口助手调试407显示发送的命令都是正确的,卡了好久了这是发送规则
  • ¥15 stm32f103c8t6最小系统板+2.8寸TFTLCD板子