啊,这个。
有好消息也有坏消息:
坏消息:
最近大部分作者都要准备小学毕业考试,又停了一周。我们将在周日发布公告。
好消息是:
毕业后,将是暑假,到时候,我们会经常更新,并进入哔哩哔哩。欢迎大家前来支持~
今天,我们将讨论数据类型。先放循环吧。
lgj,xsb:
前缀?表示二进制值0的前缀表示八进制值0x前缀表示十六进制值右移位运算符左移位运算符类型运算符,返回数据类型。
165.33333333333334″ valign=”top” style=”word-break: break-all;”>Number()
首先讲一下进制的概念:
我们平时使用的是十进制,也就是满十进一。
每个数由 0 1 2 3 4 5 6 7 8 9 这九个数字组成。
而 x进制,就是满x进一。比如说二进制就是满二进一,数数是这样数的:
十进制 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
二进制 | 1 | 10 | 11 | 100 | 101 | 110 | 111 |
同样的,十六进制就是满十六进一。
有人可能会问:“阿拉伯数字只有10个,那么十六进制的16个数该怎么表示呢?”
聪(sha)明(diao) 的程序员很快想到了解决方案:用英文字母代替。
也就是这样:
十进制 | 10 | 11 | 12 | 13 | 14 | 15 | 16 |
十六进制 | a | b | c | d | e | f | 10 |
就完美 (并不) 的解决了问题(对字母大小写不敏感)
这里不会花太多的篇幅来介绍进制,大家有兴趣可以去搜索一下。
回到主题。
我们可以通过 0b、0、0x 等前缀来定义其他进制的数
举个例子:
var a = 12;
var b = 0b10;
var c = 010;
var d = 0x10;
console.log(a);
console.log(b);
console.log(c);
console.log(d);
结果是这样的:
他们都被转换为十进制,然后输出了。
接下来是移位运算符 >> 和 <<
你可以简单的把 2 << 5 理解为把 2 转换为二进制,然后往后面加上五个0。
再转换回原来的十进制。
也就是把 10(二进制) 变成 1000000(二进制),然后转换回 64(十进制)
(也可以看作 2乘了5次的2)
所以 2 << 5 = 64
而 4566 >> 5 就是把 4566 转换为二进制,然后去掉最后面的五位。
再转换回原来的十进制。
也就是把 1000111010110(二进制) 变成 10001110(二进制),然后转换回 142(十进制)
(也可以看作 4566 除以了5次的2,并省略余数)
同样可以简便的写为<<= 和 >>=
例子:
<!DOCTYPE html>
<head>
<meta charset="UTF-8" />
</head>
<body>
<script>
var a=2,b=4566;
a <<= 5;
b >>= 5;
console.log(a);
console.log(b);
</script>
</body>
结果如下:
然后是一元运算符 typeof
大家都知道,JS里面有3种我们学过的数据类型:
number(数值)、string(字符串)、boolean(布尔)。
还有两种我们没学过的:
object(对象)和 function(函数)
以及特殊值:
null(空)和 undefined(无)
typeof 可以返回这个数据的类型(为一个字符串)
这里举几个例子好了。
这一段是对控制台的直接输出,没有定义任何变量,所以 e 是一个未定义的变量,等于undefined。
最后是 Number()、String()、Boolean() 这三个函数。
它们可以把不同的值转换为另一个类型
比如说:
Number(“124.3”) 等于 124.3
Number(“Mr.giao”) 等于 NaN
String(-3425.4544) 等于 “-3425.4544“
Boolean(15416)等于 true 等
这里我就不示范了。
作者:
Алексей
四五工作室室长
能够写出非常优美、非常简洁、非常实用的锟斤拷和bug
鍚屾椂杩樻槸涓€鍚嶅甫鍝插瀹?
素描八级,但是看上去还是不太会画画
本来想做小程序,结果开了个公众号天天在那边写稿
关注四五工作室,从零开始学技术
如果想要加入四五工作室,或者给我们提供建议、意见。可以联系我们。