~在javascript里有什么作用?

我在看baixing.com的前端代码,发现一个写法:

var _baixing = _baixing || {};
~function(a) {
}

这里的~是什么符号?为什么每个function之前都有这个?

阅读 2.7k
1 个回答

~ 是二进制按位取反运算符。
但这里与按位取反没什么关系,只不过在函数前加一个运算符,从而将函数声明变为函数表达式,一般为了简化执行函数的步骤而用。你也可以用其他运算符实现该效果。举例:

~function a() {
  alert('hello');
}();

+function a() {
  alert('hello');
}();

!function a() {
  alert('hello');
}();

以上三个例子中的 alert 都会执行,题主可以阅读下这篇博文:

《细说 Javascript 函数篇(一) : 函数声明和函数表达式》

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
101 新手上路
子站问答
访问
宣传栏