JS函数前面加!、+、-、~符号以及;是什么意思、按位取反 - 蛛蛛侠
文章推薦指數: 80 %
javascript. 简介JS函数前面加!、+、-、~符号以及;分别代表什么意思,在使用中起什么作用,按位取反什么意思,如何计算按位取反。
您现在的位置是:首页>技术学习>javascript
网站首页
技术学习
javascript
JS函数前面加!、+、-、~符号以及;是什么意思、按位取反
技术学习
2019-04-06
1107已阅读
13
javascript
简介
JS函数前面加!、+、-、~符号以及;分别代表什么意思,在使用中起什么作用,按位取反什么意思,如何计算按位取反。
1.函数定义和调用
1-1常见的函数定义和调用
//匿名函数:
function(){};//会报错,
varfn=function(){};//不会报错
fn();
//普通函数:
functionmyFn(){};
myFn();
1-2错误的直接调用
function(){}();
functionmyFn(){}();
//这样的直接调用方法解析器无法理解,因此会报错。
1-3正确的直接调用方法
//常见的直接调用
(function(){})();
varfn=function(){}();
(functionmyFn(){})();
//特殊直接调用(有强制执行的感觉)
(function(){}())
(functionmyFn(){}())
原理:将函数用括号包括起来,解析器会把函数解析为函数表达式,而函数表达式可以直接调用。
因此,其他能将函数体变成函数表达式的方法,都可以让解析器正确调用定义函数,比如上面的第二种调用方法。
以及其他的一些符号,如:!、+、-、~
console.log(function(){
console.log('()');//()可正常输出
});//函数无返回值,所以输出undefined;
!function(){
console.log('!');
}();//!
+function(){
console.log('+');
}();//+
-function(){
console.log('-');
}();//-
~function(){
console.log('~');
}();//~
//可见上面的函数都执行了。
1-4各个符号的含义
()、!、+、-、~这些符号写在函数前代表不同的含义,但是本质上是对函数的返回值进行相应的操作。
没返回值的函数默认返回undefined
console.log((function(){})());//undefind;
console.log((function(){
return;
})());//undefind;
各个符号的含义
1-6按位取反~
二进制数在内存中是以补码的形式存放的。
计算机中的符号数有三种表示方法,即原码、反码和补码。
三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
例:(四位二进制表示)原码
+4:0100其中第一个0是符号位,代表符号+;后面的数字是数值位
-4:1100其中第一个1是符号位,代表符号-;后面的数字是数值位
三种形式的转化方法:
正数:(正数原码、反码、补码、三者相等)
原码:符号位0(即代表+号),加上数字的二进制形式。
反码=原码
补码=原码
负数:
原码:符号位1(即代表-号),加上数字的二进制形式
反码:相对于原码,符号位不变,数值位依次取反(0变1,1变0)。
补码:相对于原码,符号位不变,数值位依次取反,然后再加1。
(即补码=反码+1)
零:
0有+0和-0两种形式,分别按照上面的进行计算即可。
按位取反原理:
对数字的补码(即内存中的存储形式),进行依次取反,得取反后数字的补码,然后将其转化为10进制,即可得取反后数值。
计算示例:(四位二进制表示)
+5:
1.计算原码:0101,
2.计算补码:0101,正数补码和原码相同,
3.对补码依次取反:1010,(取反后的数字的补码,由符号位可知为负数)
4.取反后数字反码:1001,负数的反码=补码减1,
5.取反后数字原码:1110,相对于反码,符号位不变,数值位依次取反,
6.转化为十进制:-6。
-4:
1.计算原码:1100,由符号位可知为负数,
2.计算反码:1011,负数反码=相对于原码符号位不变,数值位依次取反,
3.计算补码:1100,负数补码=反码+1,
4.对补码依次取反:0011,得取反后数字补码,可知为正数,
5.取反后数字原码:0011,正数原码和补码相同。
6.转化为10进制:+3。
个人CSDN博客
11
很赞哦!(13)
打赏本站
关闭
感谢您的支持,我会继续努力的!
扫码打赏,你说多少就多少
上一篇:PS的一些基本操作以及快捷键
下一篇:JS中的数据类型
相关文章
javascript基础
JS中的数据类型
JS的内置对象(Date、String、Array、Math、Event)
浏览器对象(Window、History、Location、Navigator、Screen)
DOM对象
JS事件绑定、冒泡/捕获、常见的兼容处理、委托、阻止默认行为和冒泡
JS中的正则
通过file按钮上传的图片如何在当前页面显示出来FileReader
JS、Jquery中jsonp的原理以及使用方法
JS中新增的对象:Map、Set
JS生成器-generator
JS中的块级作用域,var、let、const三者的区别
特别推荐
如何自己写后台搭建支持mkdown的个人博客阅读
如何使用Homestead搭建laravel本地开发环境阅读
centos7.4安装laravel开发环境阅读
点击排行
JS中新增的对象:Map、Set
JS函数前面加!、+、-、~符号以及;是什么意思、按位取反
2019-04-06
如何自己写后台搭建支持mkdown的个人博客
2019-02-21
如何使用Homestead搭建laravel本地开发环境
2019-02-22
JS事件绑定、冒泡/捕获、常见的兼容处理、委托、阻止默认行为和冒泡
2019-05-16
标签云
建站
javascript
PHP
Laravel
服务器
HTML
CSS
Photoshop
Git
Top
延伸文章資訊
- 1JS函数前面加!、+、-、~符号以及;是什么意思、按位取反 - 蛛蛛侠
javascript. 简介JS函数前面加!、+、-、~符号以及;分别代表什么意思,在使用中起什么作用,按位取反什么意思,如何计算按位取反。
- 2javascript 中$符号是代表什么意思! - 。。小兵- 博客园
符号在php中是表示变量的特征字符, 在js中它也有很多作用, 一般我们用来命名一个函数名称,获取id的1、 首先可以用来表示变量, 比如变量var ...
- 3javascript中$符号的意思比如element = $(element);什么意思?
Javascript中$符号的意思 $,是指prototype定义的一类方法 $("id") 得到的是页面id为"id"的元素 $F("id") 得到的是页面id为"id"的元素的值,这是只读的...
- 4運算式與運算子- JavaScript
這個表格更詳細的版本,解釋了運算子的更多細節和關聯性, 可以在JavaScript 參考 中被找到。 運算式. 運算式是任何一段可以取得一個值的程式碼。 任何 ...
- 5展開運算符與其餘運算符· 從ES6開始的JavaScript學習生活
展開運算符(Spread Operator)與其餘運算符(Rest Operator)是ES6中的其中兩種新特性,雖然這兩種特性的符號是一模一樣的,都是(...)三個點,但使用的情況與意義不同。...