首页
学习
活动
专区
圈层
工具
发布

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

以前看到老师写js的单例模式时疑惑为什么要这么写 var singleton = (function () { var privateVariable; function privateFunction...)... } }; }()); 后来查了下资料,js中(function(){…})()立即执行函数写法理解,终于了解了。...function XXX(){}1 2、一种是函数表达式 函数表达式我们经常使用,而函数表达式中的function则不会出现函数提升。而是JS解释器逐行解释,到了这一句才会解释。...fn1(); function fn1(){}//可以正常调用 fn2(); var fn2 = function(){}//无法调用 OK,下面进入正题,对函数表达式加上(),是可以直接调用的 但是如果是对声明式的后部加上...var fn2 = function(){}();//对,就是这样 function fn1(){}();//{}会被忽略 而平常的function(){}则是一种声明式,如果加上()括号后,则会被编译器认为是函数表达式

4.5K00

js 函数function用法

javascript 函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传递。...在继续讲述之前,先看一下函数的使用语法: 以下是引用片段: function func1(…){…}   var func2=function(…){…};   var func3=function...func4(…){…};   var func5=new Function();    // 1, 方法调用模式 // 当一个函数被保存为对象的一个属性时...,我们称之它为该对象的一个方法,那么this被绑定到该对象上 var myObject={ name : "myObject" , value : 0 , increment : function...var i=0 for (i=0;i<=10;i++) { document.write("The number is " + i + "") } 参考推荐: js

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

    JS基础测试: a();function a(){console.log(1)}function a(){..}输出是多少?​

    预处理会跳过执行语句,只处理声明语句,同样也是按从上到下按顺序进行的。包括变量和函数在内的所有声明都会在任何代码被执行前首先被处理。...注意1:对于声明并赋值的语句,例如 var a = 1,在预处理阶段会把这句话拆成两句: var a; a = 1; 也就是说,赋值或其他逻辑运算是在执行阶段进行的,在预处理阶段会被忽略。...注意2: (1)函数声明的提升优先于变量声明的提升; (2)重复的var声明会被忽略掉,但是重复的function声明会覆盖掉前面的声明。...2.在预处理阶段,声明的变量的初始值是undefined, 采用function声明的函数的初始内容就是函数体的内容。 3....完成预处理之后,JavaScript代码会从上到下按顺序执行逻辑操作和函数的调用。 参考代码: ? 答案: C. 2

    3.6K20

    JS魔法堂:再次认识Function.prototype.call

    以下是参照规范的伪代码(各浏览器的具体实现均不尽相同) Function.prototype.call = function(thisArg, arg1, arg2, ...) { /*** 注意:...它内部实现的伪代码如下: test.call = function(thisArg, arg1, arg2, ...){ if (!...有了上面的基础那么Function.prototype.call.call就不难理解了。就是以最后一个call函数的thisArg作为Function.prototype.call的this值啦!...[[Call]](Function.prototype.call, test, argList) } // test作为函数的this值 // 注意:入参thisArg的值为Function.prototype.call.call...Function.prototype.call.call的用法确实少见,而且性能不高,本篇仅仅出于学习的目的,只希望再深入了解一下Function.prototype.call的内部原理而已。

    2.2K100

    jQuery(function(){})与(function(){})(jQuery)的区别

    三、总结 jQuery(function(){ });用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。...(function(){ })(jQuery);用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。 补充: (function($){...})...这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即: (function(arg){...})...(param) 这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数 而(function($){...})...(jQuery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery ,上述也可以这样写:var fn = function($){....}; fn(jQuery);

    1.2K100

    sigmoid function和softmax function

    「学习内容总结自 couesera 和 udacity 的深度学习课程,部分截图来自 coursera 的课件」 sigmoid function sigmoid函数(σ(x)=1/(1+e-x))输出范围为...sigmoid softmax function 对于多类分类问题即输出多个概率的问题,sigmoid函数就使不上劲了。这时候就需要运用softmax了。 softmax是如何由来的呢?...举个简单的例子(例子来自udacity的深度学习课程里的解释),要建立一个模型,对于我们看到的动物,我们要分别输出为鸭子,海狸和海豹的概率。...基于种种特征输入,现在鸭子,海狸和海豹得到的分数分别为 2 , 1 和 0。计算概率的最简单的方法就是将它们各自的得分除以它们得分的总和。所以得到概率分别为 2/3 , 1/3 和 0。...联想到指数函数(ex)会将输入的任何数转换为正数的特性,用它来转换得分再计算概率就会避免上述方法的弊端。

    2.4K10

    $(function(){})和$(document).ready(function(){})

    ,指示页面包含图片等文件在内的所有元素都加载完成。...用jQ的人很多人都是这么开始写脚本的: $(function(){ // do something }); 其实这个就是jq ready()的简写,他等价于: $(document).ready(function...(){ //do something }) //或者下面这个方法,jQuer的默认参数是:“document”; $().ready(function(){ //do something })...这个就是jq ready()的方法就是Dom Ready,他的作用或者意义就是:在DOM加载完成后就可以可以对DOM进行操作。...一般情况先一个页面响应加载的顺序是:域名解析-加载html-加载js和css-加载图片等其他信息。 那么Dom Ready应该在“加载js和css”和“加载图片等其他信息”之间,就可以操作Dom了。

    2K10

    前端开发:立即执行函数(function(){}())与(function(){})()的区别

    前言在前端开发过程中,JS中的原理使用知识点是老生常谈,但是有时候在开发中会忽略一些细节和不经意的知识点,尤其是刚入行的新晋开发者更是一知半解,在对JS整体使用的时候会有所遗漏。...那么本篇博文就来分享一下关于在JS中立即执行函数相关的对比使用总结,方便查阅使用。...、JS常见的一个经典知识点,闭包的实现,还有数据私有化的设置。...,然后后面再加括号调用 (function (){ // 函数体... })()需要注意的是:使用小括号包裹是因为浏览器的JS引擎规定要求,如果function放在首行,一概解析成语句,但是在使用立即执行函数的时候需要浏览器的...JS引擎把function解析为一个表达式,所以小括号包裹为的就是解决这个问题的。

    43021

    简单的说下,(function(){...})() 与 (function(){...}()) 有什么区别?

    大周末的写太长了也没人看,标题所提问,其实没有区别, function xxx(){...},这是一个函数,解释器知道了,但并不运行它; xxx(),解释器遇到它就会执行它。...IIFE写法的好处: 1,普通写法代码多,并且定义和执行不在一起; 2,占用命名空间; 不想给某些函数起名,又想让它立即执行,那怎么办呢?...简单啊,将之转化为表达式,加个()呗,变成这样, (function xxx(){console.log('xxx')})(); 那既然都立即执行了,干脆函数名也不要了吧,于是, (function (...因为IIFE搞了一个新的作用域,你的代码碰不到全局对象了。 什么是IIFE? 立即执行函数表达式 IIFE(Immediately-invoked function expression)

    98960

    python的几个function

    购买已经发布一年的小米8,价格已经降到位了,这个时候购买绝对是超值的。开机大小适中,手感不错,做工也很精致,我购买的是蓝色版本,拿在手上可以说是赏心悦目。...以前对于刘海屏的手机无法接受,现在用上了一段时间,感觉已经适应了。屏幕解锁的速度非常快,即便是在夜间,由于有红外面部识别,所以也能够瞬间解锁,这一点非常好。...骁龙845的处理器,搭配8g运行内存,运行速度杠杠的。128g的海量存储,足够容纳我拍摄的诸多风景照片。...最后说说这款手机的拍摄,由于它主摄使用的是索尼imx363,因此成像素质还是不错的,加上后期的软件调校,所以说,无论是在白天光照条件好的情况下,还是在夜间,都能够获得不错的拍照体验。...我对于超广角以及变焦这些功能倒并不是特别在意,因为有些手机摄像头虽然是多了,但其实并非共同成像,只是单镜头在发挥作用,所以它的成像效果和主摄是完全不能比的。总之,很满意。"

    53720
    领券