码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript函数前面加!、+、-、~, ;符号的意义介绍

时间:2020-03-05 22:15:25      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:为什么   执行   关于   undefined   efi   返回值   没有   def   函数   

本篇文章给大家带来的内容是关于JavaScript函数前面加!、+、-、~, ;符号的意义介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

! 对返回值的真假取反

console.log(!function() {

       return;

   }()); // true undefined属于false,

console.log(!function() {

       return "a";

   }()); // false 字符串a属于真

+、- 是对返回值进行数学运算

console.log(+function() {

    return 5.1;

}()); // 5.1 

console.log(-function() {

    return 5.1;

}()); // -5.1

~ 对返回值进行按位取反

(所有正整数的按位取反是其本身+1的负数,所有负整数的按位取反是其本身+1的绝对值,零的按位取反是 -1)

console.log(~function() {

    return 5;

}()); // -6 

console.log(~function() {

    return -5;

}()); // 4 

console.log(~function() {

    return 0;

}()); // -1

console.log(~function() {

    return "5";

}()); // -6 按位取反也会对返回值进行强制转换,将字符串5转化为数字5,然后再按位取反

; 是为了防止代码压缩时,前面代码没写 ; 造成报错。


这里还有人可能会问,为什么在自执行函数中,前面也有加一个符号如~

~function(){
    console.log('111')
}()
//"111" 

这里函数被认为运算符,会自行调用。
一般用于没有return的函数中。
如果有return并希望正常返回值,建议还是按照正常自执行函数来进行编写。

(function(){
    return '111'
})()
//"111" 

JavaScript函数前面加!、+、-、~, ;符号的意义介绍

标签:为什么   执行   关于   undefined   efi   返回值   没有   def   函数   

原文地址:https://www.cnblogs.com/lovecode3000/p/12423133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!