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

javascript---(function(){})()

平时我们在中写代码是这样的: //声明一个方法f1 function f1(){ } f1();//运行这个方法 或者 var f2 = function(){ } f2();...通常(function(){})(param)我们这样写会出错,因为此时我们是调用方法阶段,并不是声明阶段,所以param必须是有意义的,不然就是没定义 对比: 通常和$(function(){})对比...,这个是jquery提供的初始化方法,在页面渲染完成后才会执行,相当于是调用一个回调方法,那么在使用 (function(){})()的时候确实页面没有渲染就执行了,因此要特别注意不要在方法体里引用页面...再来看些这样的写法: (function($){ ... })(jQuery) 其实上面这段代码在没有引入jquery的时候是错误的,因为jQuery是没有哦声明的,而jQuery在jquery中声明了...很奇怪的写法: (function (window, document, undefined) { // })(window, document); 理解是和上面一样的,但是undefined

37220

JavaScript Function类型

掌握: 1.函数的声明方式 2.作为值的函数 3.函数的内部属性 4.函数属性和方法 Function(函数)类型实际上是对象。...每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。由于函数是对象,因此函数名实际上也是一个指向函数对象的指针。...一.函数的声明方式 1.普通的函数声明 function box(num1, num2) { return num1+ num2; } 2.使用变量初始化函数 var box=..., ‘num2’ ,’return num1 + num2’); PS:第三种方式不推荐,因为这种语法会导致解析两次代码(第一次解析常规javaScript代码,第二次是解析传入构造函数中的字符串),从而影响性能...//局部的color sayColor : function () { alert(this.color); //此时的this只能box里的color

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

    JavaScript中的函数重载(Function overloading)

    说明 JavaScript 中没有真正意义上的函数重载。 函数重载 函数名相同,函数的参数列表不同(包括参数个数和参数类型),根据参数的不同去执行不同的操作。...(1); //两个参数 overload(1,2); //两个参数 在JavaScript中,同一个作用域,出现两个名字一样的函数,后面的会覆盖前面的,所以 JavaScript 没有真正意义的重载...但是有各种办法,能在 JavaScript 中模拟实现重载的效果。...上面这个例子是 jQuery 之父 John Resig 写的,他在他的博客和他写的书 《secrets of the JavaScript ninja》第一版中都有提到过,在书中的第4章中也有讲解...总结 虽然 JavaScript 并没有真正意义上的重载,但是重载的效果在JavaScript中却非常常见,比如 数组的 splice( )方法,一个参数可以删除,两个参数可以删除一部分,三个参数可以删除完了

    2.1K10

    【JavaScript】解决 JavaScript 语言报错:Uncaught TypeError: XYZ is not a function

    一、背景介绍 在 JavaScript 编程中,“Uncaught TypeError: XYZ is not a function” 是一种常见的错误。...常见场景 变量或对象属性的类型错误 函数名拼写错误或覆盖 作用域问题导致的函数未定义 调用未初始化的函数 通过理解这些常见场景,我们可以更好地避免和处理这些错误。...类型错误通常意味着代码试图执行一个不合法的操作,比如将非函数类型的值当作函数调用。 XYZ is not a function: 这里的 ‘XYZ’ 是具体的变量或标识符名称。...作用域问题导致的函数未定义 function outer() { function inner() { console.log('Inner function'); } } inner(...'); }; execute(); // Executing function 六、总结 “Uncaught TypeError: XYZ is not a function” 错误在 JavaScript

    3.4K10

    JavaScript Cookbook 2nd 之 Function

    // 我们有4个基础函数,会根据不同的业务逻辑进行组装使用   // 自动创建 function autoCreate () {}   // 自动同步 function autoSync () {}  ...// 流程 A function processA () {}   // 流程 B function processB () {}   // 流程 A 与流程 B 在业务上是互斥的 传统的命令式编程,我们会这样写业务逻辑...function service (errorHandler) {      var result;     if (!...function processA () {   return new Promise(function(resolve, reject){       if (type !...如果在函数A的内部调用函数B,那么在A的调用帧上方,还会形成一个B的调用帧。等到B运行结束,将结果返回到A,B的调用帧才会消失。如果函数B内部还调用函数C,那就还有一个C的调用帧,以此类推。

    44700

    深入理解JavaScript系列(50):Function模式(下篇)

    // 声明完函数以后,立即执行该函数 (function () { console.log('watch out!'); } ()); //这种方式声明的函数,也可以立即执行 !...之前我们在做事件处理的时候,通常使用类似下面的代码: var utils = { addListener: function (el, type, fn) { if (typeof...内存优化 该模式主要是利用函数的属性特性来避免大量的重复计算。通常代码形式如下: var myFunc = function (param) { if (!...toString或者其它类似Object拥有的一些公用方法的话,就会出现问题,这时候就需要使用传说中的hasOwnProperty方法了,代码如下: var myFunc = function (param...,可以将这些参数通过JSON的stringify方法生产一个cachekey值进行存储,代码如下: var myFunc = function () { var cachekey = JSON.stringify

    40930

    深入理解JavaScript系列(49):Function模式(上篇)

    本篇主要是介绍Function方面使用的一些技巧(上篇),利用Function特性可以编写出很多非常有意思的代码,本篇主要包括:回调模式、配置对象、返回函数、分布程序、柯里化(Currying)。...回调函数 在JavaScript中,当一个函数A作为另外一个函数B的其中一个参数时,则函数A称为回调函数,即A可以在函数B的周期内执行(开始、中间、结束时均可)。...返回函数 返回函数,则是指在一个函数的返回值为另外一个函数,或者根据特定的条件灵活创建的新函数,示例代码如下: var setup = function () { console.log(1);...); 复制代码 更多资料,可以参考如下地址: http://www.caishui114.com/chanpin/ http://www.caishui114.com/wentiku/ 总结 JavaScript...里的Function有很多特殊的功效,可以利用闭包以及arguments参数特性实现很多不同的技巧,下一篇我们将继续介绍利用Function进行初始化的技巧。

    46220

    window.onload 、$(function()function())、;(function(){}());的执行顺序(初)

    window.onload 、$(function()function())、;(function(){}());三个的执行顺序: ;(function(){}()); > $(function()function...id.innerHTML+"---3"); }) 效果图: 常常有很多人喜欢用这个匿名函数,来做js的处理...;(function(){ //代码块 }()); 但是,这个只能放在元素之后,做处理或者调用,如果放在DOM元素之前,会报错,阻塞下面执行。JS是有执行顺序的。...大家都知道,如果 JS 动态加载数据,绑定事件的时候,会找不到此DOM元素,此时可以用Jquery 的另一个绑定事件 delegate()事件执行。...任何时候只要有事件冒泡到 而 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行。 $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。

    4K30

    你需要深入了解一下 JavaScript 的 new Function

    英文 | https://javascript.plainenglish.io/in-depth-js-new-function-syntax-b1957c5dab69 JavaScript技术一直处于不断发展壮大中...,如果你是前端开发人员或者JavaScript开发工程师,那么,今天这个知识点,你有必要认真了解一下,它就是“new Function”。...JavaScript 或者 Node.js 的时候,没有理由使用 new Function 构造函数,因为不需要直接使用函数或者 () => {} 箭头函数。...new Function 语法有一个特别强大的特性,使它在 JavaScript 中发挥着不可替代的作用。 有什么特点?也就是函数体的数据格式是字符串,真是不可思议!...不可替代的角色 这里有几个例子来展示 new Function 语法的微妙之处。

    78940

    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

    javascript中function用法_年终总结反思不足之处

    整理了JavaScript中函数Function的各种,感觉函数就是一大对象啊,各种知识点都能牵扯进来,不单单是 Function 这个本身原生的引用类型的各种用法,还包含执行环境,作用域,闭包,...不过这并不是说读取这两个值会访问相同的内存空间,它们的内存空间是独立的,但他们值会同步(WHY??),要是JavaScript能直接访问内存就好了验证一下。...但有的优化后的JavaScript引擎如V8会尝试回收被闭包占用的内存。 闭包缺点:作用域链的这种配置机制引出了一个副作用即闭包只能取得包含函数中任何变量的最后一个值。...function(){ //这里是块级作用域 }(); 然而会报错,是因为JavaScript将 function 关键字当作一个函数声明的开始,而函数声明后面不能跟圆括号。...参考: 《JavaScript高级程序设计》 深入解读JavaScript面向对象编程实践 JS核心系列:漫谈JS引擎的运行机制

    81110
    领券