js函数前面的加号,叹号

+function(){}();

这里的加号,也可以替换成!,~等其他一元操作符,其效果相当于:

(function() { console.log("Foo!"); })();
// or
(function() { console.log("Foo!"); }());

如果没有这个加号的话,解析器会认为function是一个函数声明的开始,而后面()将会导致语法错误。在function前面加上+号时,就变成了一个函数表达式,而函数表达式后面又添加了一个()就变成了一个立即执行的函数了。

参考:http://stackoverflow.com/questions/13341698/javascript-plus-sign-in-front-of-function-name

时间: 2024-12-23 03:50:39

js函数前面的加号,叹号的相关文章

完美解决js传递参数中加号和&号自动改变的方法_javascript技巧

在action中用get方法获得参数,如果参数里有"+",要做处理,否则到后台会变成空格. 解决方案: 1 .改用post方法: 2 .在 js 里用 url = encodeURI(encodeURI(XXX)) ,后台再解码一次: 3 .传递参数的时候直接替换转义,或者直接写转义后的代码 data =  "a + b": data = data.replace(/\+/g, "+"); data = data.replace(/\&/

深入浅析JavaScript函数前面的加号和叹号_javascript技巧

+function(){}(); 这里的加号,也可以替换成!,~等其他一元操作符,其效果相当于: (function() { console.log("Foo!"); })(); // or (function() { console.log("Foo!"); }()); 如果没有这个加号的话,解析器会认为function是一个函数声明的开始,而后面()将会导致语法错误.在function前面加上+号时,就变成了一个函数表达式,而函数表达式后面又添加了一个()就变成

JS函数集合大全

js|函数|集合 1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)6.一个

web项目-eclpise导入项目后根目录出现叹号,位置为web.xml,错误说明如下图,跪求大神解决

问题描述 eclpise导入项目后根目录出现叹号,位置为web.xml,错误说明如下图,跪求大神解决 解决方案 解决方案二: 重新构建js包的路径吧 解决方案三: 解决方案四: 解决方案五: 解决方案六: 感觉是丢包的问题 build-path里面看看是不是有包没导正确? 解决方案七: 额,路过,我也不知道怎么弄啊 解决方案八: 哥,你把jar包删了,重新加入吧.. 解决方案九: 最近帮一个哥们弄的时候也是这个问题,我以为是buildpath的问题,可是打开看看没有问题,后来查资料有人说把导入的

关于js函数解释(包括内嵌,对象等)_javascript技巧

常用写法: function add(a,b) { return a + b; } alert(add(1,2)); // 结果 3 当我们这么定义函数的时候,函数内容会被编译(但不会立即执行,除非我们去调用它).而且,也许你不知道,当这个函数创建的时候有一个同名的对象也被创建.就我们的例子来说,我们现在有一个对象叫做"add"(要更深入了解,看底下函数:对象节.) 匿名函数: 我们也可以通过指派一个变量名给匿名函数的方式来定义它. var add = function(a,b) {

<asp:Repeater>中<a></a>标签调用多参数JS函数

问题描述 <asp:Repeater>中<a></a>标签调用多参数JS函数 asp:Repeater中定义了一个循环标签,需要调用JS调用弹出层. function OpenWin(title,salonTitle) { //具体弹出层的方法 } <%# Eval("Title")%>');">弹出层 问题: OpenWin('<%# Eval("ID")%><%# Eval(&qu

JS函数this的用法实例分析_javascript技巧

本文实例讲述了JS函数this的用法.分享给大家供大家参考.具体如下: 在js中写函数时,很多用到this. this究竟是什么,this是个关键字,是个指针,指向执行环境作用域,也称之为上下文. 先说下函数吧,个人理解是函数是在语言中重复调用的代码块. 在JS里,把函数赋值给对象的属性时,称之为方法 如: var m={}; m.title='title'; m.show=function(){ alert(this.title) } m.show() 就是把函数作为对象m的方法来调用 这样的

深入理解js函数的作用域与this指向_javascript技巧

函数的作用域与this指向是js中很重要的一部分,理清这点东西需要个逻辑,看看我的逻辑怎么样... 下面是个提纲,可以直接挑你感兴趣的条目阅读. • 函数的定义方式:直接定义(window下,内部定义),对象的方法,对象原型的方法: • 函数的调用方式:直接调用,call/apply,with • 对于直接定义的函数和对象的方法,作用域默认状态下是它的定义处的作用域链. • 对于直接定义的函数,this指向window. • 对于对象的方法,this指向实例化对象(对应于实例化对象默认返回thi

JS函数arguments数组获得实际传参数个数的实现方法_javascript技巧

JS与PHP在函数传参方面有点不同,PHP形参与实参个数要匹配,而JS就灵活多了,可以随意传参,实参比形参少或多都不会报错. 实参比形参多不会报错 function say(a){ alert(a); } say('琼台博客','WEB技术博客'); 执行结果 我们再来看看形参比实参多的结果 function say(a,b){ alert('a 的值是 '+a+'\nb 的值是 '+b); } say('琼台博客'); 执行结果 a 对应第一个实参"琼台博客",b 没有对应的实参所以