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);

  • 相关阅读:
    hlgoj 1766 Cubing
    Reverse Linked List
    String to Integer
    Bitwise AND of Numbers Range
    Best Time to Buy and Sell Stock III
    First Missing Positive
    Permutation Sequence
    Next Permutation
    Gray Code
    Number of Islands
  • 原文地址:https://www.cnblogs.com/laorenzhenhaoa/p/13633300.html
Copyright © 2011-2022 走看看