微信引流神器手机电影网站怎么做药品推广方案策划
news/
2025/10/6 3:10:20/
文章来源:
微信引流神器手机电影网站怎么做,药品推广方案策划,自己怎么注册公司网站流程,河北省建设局网站函数基本概念#xff1a; 函数声明#xff1a;function box(){} 函数表达式#xff1a;var box function(){}; 匿名函数#xff1a;function(){} 属于函数表达式 匿名函数的作用#xff1a;如果将匿名函数赋值给一个变量#xff0c;则声明了一个函数#xff1a; var bo…函数基本概念 函数声明function box(){} 函数表达式var box function(){}; 匿名函数function(){} 属于函数表达式 匿名函数的作用如果将匿名函数赋值给一个变量则声明了一个函数 var box function(){}; 如果将匿名函数赋予一个事件则成为事件处理程序 box.addEventListener(click,function(){alert(aaa)}); 创建闭包(function(){})() 函数定义的三种方法 var box function(){}; function box(){} var box new Function(); 函数声明和函数表达式的不同 js在进行预解析时函数声明会提升而函数表达式必须js顺序执行到此函数代码时才会逐行解析 函数表达式后面加括号可以立即执行函数函数声明不可以只能以fnName()的方式调用才行 实例 1 2 3 4 box(); function box(){ alert(aaa); }br//正常因为js在解析阶段函数声明会被提升到最前面所以函数声明可以在函数执行后面br//实际顺序br//function box(){br alert(aaa);br}br//box();brbrbox();brvar box function(){br alert(aaa);br}br//报错实际上的顺序是br//var box undefined;br//box();br//box function(){br alert(aaa);br}br//所以当执行到box()时此时box不是一个函数brbrvar box function(){br alert(aaa);br}()br//正确 函数表达式后面加括号当执行到后面的括号时js会自动执行此函数brbrfunction box(){br alert(aaa);br}()br//不会报错但是只会解析函数声明忽略后面的括号不会自执行brbrfunction(){br alert(aaa)br}()br//语法错误br//虽然匿名函数属于函数表达式但未进行赋值给一个变量br//当js解析到function时将其看成函数声明报错需要一个函数函数名 函数自执行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (function(a){ alert(a); })(123) //123 使用()运算符 (function(a){ alert(a); }(123)) //123 使用()运算符 !function(a){ alert(a); }(123) //123 使用!运算符brbrfunction(a){br alert(a);br}(123)br//123 使用运算符brbr-function (a){br alert(a);br}(123)br//123 使用-运算符brbrvar fn function(a){br alert(a);br}(123)br//123 使用运算符 在function前面加、、-、都可以将函数声明转化为函数表达式消除了js引擎识别函数声明和函数表达式的歧义 加是最安全的方法免得其他的和函数返回值进行运算 不过这样的写法有什么用呢 javascript中没用私有作用域的概念如果在多人开发的项目上你在全局或局部作用域中声明了一些变量可能会被其他人不小心用同名的变量给覆盖掉 根据javascript函数作用域链的特性可以使用这种技术可以模仿一个私有作用域用匿名函数作为一个“容器” “容器”内部可以访问外部的变量而外部环境不能访问“容器”内部的变量 所以( function(){…} )()内部定义的变量不会和外部的变量发生冲突俗称“匿名包裹器”或“命名空间”。 JQuery使用的就是这种方法将JQuery代码包裹在( function (window,undefined){…jquery代码…} (window)中在全局作用域中调用JQuery代码时可以达到保护JQuery内部变量的作用。转载于:https://www.cnblogs.com/yelongsan/p/7541430.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928954.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!