首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js中(function(){})()的写法用处

以前看到老师写js的单例模式时疑惑为什么要这么写 var singleton = (function () { var privateVariable; function privateFunction...)... } }; }()); 后来查了下资料,js中(function(){…})()立即执行函数写法理解,终于了解了。...来来来,首先嘛,JS中函数有两种命名方式 1、一种是声明式。 而声明式会导致函数提升,function会被解释器优先编译。即我们用声明式写函数,可以在任何区域声明,不会影响我们调用。...function XXX(){}1 2、一种是函数表达式 函数表达式我们经常使用,而函数表达式中的function则不会出现函数提升。而是JS解释器逐行解释,到了这一句才会解释。...var fn2 = function(){}();//对,就是这样 function fn1(){}();//{}会被忽略 而平常的function(){}则是一种声明式,如果加上()括号后,则会被编译器认为是函数表达式

3.6K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js new一个function都发生了什么

    2019-04-10 03:08:56 在ES5当中其实是没有类这个概念的,我们使用js的OOP编程其实是用function模拟了类的实现。...function TestFun(name){ let age = 10; this.name = name this.getAge = function(){...,因为这个name属性就TestFun的一个属性,如果我们在添加一个this.context那么如果全局变量里没有context,则会输出undefined。...这里就涉及到了作用域的概念,在TestFun中,如果没有new这个关键字,这里的this是指向其上层作用域的。一旦使用new关键字后这个作用域就发生了变化。 我们把TestFun输出看一下。...但是一般情况下如果function没有return的时候这是一个正常的流程,如果function return了一个Object类型,则new完成以后则会返回这个object,如果是非Object(string

    1.8K30

    Node.js 为什么进程没有 exit?

    不知道各位 noder 们有没有碰到过这样一个疑问,当你写的 Node.js 代码是异步逻辑的时候,我们要怎么才能知道 Node.js 进程是什么,什么时候才会退出呢?...Node.js 又是怎么知道异步执行结束了?或者当你执行一段 Node.js 代码之后,进程去一直等在这里没有退出又是怎么回事呢?...close 掉各项 server 或者回收各项资源的情况下,为什么 Node.js 进程没有自然而然的退出掉?...:6 - setInterval(function () {}, 1000)/xxx/node_modules/why-is-node-running/example.js:10 - createServer.../why-is-node-running/example.js:10 - createServer() 通过这些信息,你可以排查到有哪些异步操作/请求是你准备优雅退出时还没有处理,从而导致你的进程没有自然退出的

    3K41

    函数(function)

    另外,在定义函数时指定的形参可有可无,根据函数的需要来设计,如果没有形参,圆括号内容为空,或写一个void关键字。 形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。...void max(int, int) { } error, 只有变量,没有类型 int a, int b; void max(a, b) { } 没形参, 圆括号内容为空 void max()...,如果函数没有返回值,函数名字的前面必须有一个void关键字,这时候,我们写代码时也可以通过return中断函数(也可以不用),只是这时,return语句后不带内容。...“print_test”的函数定义; b.如果找到,接着检查函数的参数,这里调用函数时没有传参,函数定义也没有传参,参数类型匹配。..., p为char *, 函数返回值为int, 类型不匹配 // error, 必须定义一个匹配类型的变量来接收返回值 // int只是类型,没有定义变量 int = test(); //

    2.2K40
    领券