zoukankan      html  css  js  c++  java
  • js杂项

    var module1 = (function (mod){
        mod.m3 = function () {
          //...
        };
        return mod;
      })(module1);

    这个不是报错吗???是不是写错了什么呢????

    整体是变量声明与赋值表达式的结合,按照优先级会先声明module1变量,然后计算“=”右侧表达式的值,最后将计算到的值赋给声明的变量module1。但在计算右侧表达式时,匿名函数会立即执行,立即执行时会传入优先声明的变量module1,但是这时候module1只是一个没有类型的空变量,作为实参引入匿名函数中后,其并不能设置属性,因为匿名函数中的形参mod不是一个对象,这时就会报错。 这样修改一下就行: var module1 = {} module1 = (function (mod){ mod.m3 = function () { //... }; return mod; })(module1);

  • 相关阅读:
    hdu 4081 Qin Shi Huang's National Road System
    Finding Team Member
    hdu 5491 The Next
    Queue
    Backward Digit Sums
    HDU
    HDU
    CodeForces 500 A. New Year Transportation
    拓扑排序
    “玲珑杯”ACM比赛 Round #1 题解
  • 原文地址:https://www.cnblogs.com/laorenzhenhaoa/p/13633300.html
Copyright © 2011-2022 走看看