JavaScript文件中; !function (win, undefined) {}(window);的意义
+function (){}
-function (){}
!function (){}
~function (){}
(function (){})()
这种写法可以保证匿名函数立即运行且运行一次
传入的 window 对象从全局变成了局部对象 优点有
1. 运行更快了
2. 可以随意改名 比如 a, 这样便于压缩
3. 可以传入其他库而不导致冲突
举例子
(function ($, w, d, undefined){
$(document).addClass('test');
})(jQuery, window, document);
这样的情况下 JQ 可以无痛使用 也不需要使用 noConflict 方法避免冲突
至于传递 undefined 是因为 ES3 时代这个玩意儿是可以被修改的……真的有人会去做比如 undefined = true 这样的事情 所以说额外定义一个真正的 undefined 可以保证匿名函数内部的 undefined 是真正的 undefined
JavaScript文件中; !function (win, undefined) {}(window);的意义的更多相关文章
- JavaScript文件中调用AngularJS内部方法或改变$scope变量
需要在其他JavaScript文件中调用AngularJS内部方法或改变$scope变量,同时还要保持双向数据绑定: 首先获取AngularJS application: 方法一:通过controll ...
- java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组之间的转换方法
1.java代码中fastjson生成字符串和解析字符串的方法 List<TemplateFull> templateFulls = new ArrayList<TemplateFu ...
- 在JavaScript文件中读取properties文件的方法
假设有JavaScript文件叫做:readproperties.js,这个文件需要读取config.properties这个配置文件,步骤如下: 1. 下载插件jquery.i18n.proper ...
- C# winForm中调用javascript文件中的方法
目前有很多的SNS社区或类SNS的网站,例如开心.51.校内等,但是发现大多数社区在邀请好友的时候都没有提供对QQ邮箱或者QQ空间好友列表获取的功能,不过似乎海内支持,但是网上相关QQ的文章还不是很多 ...
- Javascript文件中的控制器I
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- Javascript文件中的控制器II
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- Eclipse中javascript文件 clg 变为console.log();
Eclipse中javascript文件 clg 变为console.log(); window>preferance>JavaScript>Editor>Templates ...
- 血淋淋的事实告诉你:你为什么不应该在JS文件中保存敏感信息
在JavaScript文件中存储敏感数据,不仅是一种错误的实践方式,而且还是一种非常危险的行为,长期以来大家都知道这一点. 而原因也非常简单,我们可以假设你为你的用户动态生成了一个包含API密钥的Ja ...
- js文件中获取${pageContext.request.contextPath}
一般从 JSP文件中,可以直接使用 ${pageContext.request.contextPath}非常方便的获得当前页面的路径,用来处理被 Apache2代理之后出现 URL变化的问题,比如增加 ...
随机推荐
- nice - 改变执行程序的优先级
总览 (SYNOPSIS) nice [OPTION]... [COMMAND [ARG]...] 描述 (DESCRIPTION) 以 调整过的 调度优先级 运行 COMMAND. 如果 没给出 C ...
- Codeforces 961 容斥叉积判共线 树状数组递增思想题
A B C D 给你N个点 问你能不能有两条直线穿过这N个点 首先假设这N个点是可以被两条直线穿过的 所以两条直线就把这N个点划分成两个集合 我们取1 2 3三个点这样必定会有两个点在一个集合内 ch ...
- MySQL 赋予用户权限(grant %-远程和localhost-本地区别)
不过有些时候(有些版本)'%'不包括localhost,要单独对@'localhost'进行赋值,这事真让我遇上了,在对mysql5.1.32建立远程用户时. 分别对'%'和'localhost'授权 ...
- spring security基本知识(四) WebSecurity
1.创建一个Filter 现在web.xml文档中声明一个filter class="org".springframework.web.filter.DelegatingFil ...
- 【转载】 原生js判断某个元素是否滚动到底部
document.querySelector('.content').addEventListener('scroll',function () { //读取内容区域的真实高度(滚动条高) // co ...
- 用PL/SQL登录显示 “无法解析指定标识符”
错误现象: 为了看表空间是否完整建好,打开相应的连接工具plsql,但是打不开,显示 “无法解析指定标识符”: 处理方式: 首先点击取消直接登录,打开工具---->首选项,在路径上看指定好没有 ...
- 使用IDEA连接mysql数据库
1.IDEA配置数据库连接 2.添加数据库: 3.填写数据库信息: database输入框里面填写要连接的数据库名称 然后点击test connection,会弹出一个框,提示下载驱动,点击进行下载即 ...
- React Native 之项目的启动
运行项目有两种方法 1. 到根目录,执行 react-native run-ios 命令 会开启一个本地服务,加载jsbundle文件,然后是去index.js文件 import {AppRegist ...
- 在 centos7.5 使用 DockerFile 构建镜像时报错 "Error parsing reference:"microsoft/dotnet:2.2-aspnetcore-runtime AS base"is not a valid repository/tag: invalid reference format"
运行 dockerfile 时报出的错误 FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base Error parsing reference: & ...
- Bugku 杂项 隐写
隐写 下载后打开压缩包发现是一张图片 用winhex打开 图中红色框内是PNG的PE头 在IHDR后面的八个字节(黄色框部分)为该图片的长度.宽度信息 将黄色框内最后一个字节由A4改为F4后另存为图片 ...