数据类型理论
Posted x0815
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据类型理论相关的知识,希望对你有一定的参考价值。
A、变量的类型:
一共分7种(6+1)简单数据类型和复杂数据类型
简单数据类型(6种):
1、数字型:number
1-1:整型:正整形:i=1; 负整形i=-1;
二进制赋值:let i=0b101;
八进制赋值:let i=0o17;
十六进制赋值:let i=0XF0;
无所谓赋值是哪个进制的,最终都会以十进制进行计算或输出
1-2:实数:正实数:i=1.2; 负实数:i=-1.2;
数值比较大的时候,可以用科学计数法 : let i=1.25; i=1.25e+5;
最小值:5e-324; -infinity(负无穷) 最大值:1.7976931348623157e+308; infinity(正无穷)
2、undefined:只有一个值:undefined(声明未赋值)
未声明变量的数据类型为undefined
3、string字符串
把内容、值包含在双引号内 x="ha‘ha"
把内容、值包含在单引号内 x=‘haha‘
把内容、值包含在反引号内 x=`ha ha`
4、布尔型(boolean):真(true) 假(false) 数据类型为(boolean)
JS区分大小写,所以布尔值必须是小写字母
5、空值
6、Symbol(ES6新增的数据类型)
代表独一无二的值,一般用于对象的属性中
功能:A:可以生成一个独一无二的值
常规模式:
格式:
关键字 变量 = Symbol ("");
例: let name = Symbol("双十一主题");
应用场景1:进行网页维护时(JS内容),但由于增加的属性,可能是原来对象存在的属性名,这样就会覆盖原有属性的属性值。
为了减少查找属性的工作,我们可以创建一个Symbol变量来实现,相同属性名,不同属性值的需求。
Symbol变量(属性)添加
在创建对象时,就添加Symbol类型的属性
1、先声明一个Symbol的变量
2、在对象中,把这个变量作为属性名进行添加
并且在这个变量的左右添加中括号
let name = Symbol();
let xuechanglong = {
name:"XCL",
age:18,
gender:"female",
[name]:222
}
//不同变量名,获取相同Symbol值
let s1 =Symbol.for("A");
let s2 =Symbol.for("A");
let s3 ="";
let s4 ="";
console.log(Symbol.keyFor(s1));
console.log(s1==s2);
console.log(s3==s4);
keyFor方法可以通过返回Symbol值的注册信息
console.log(Symbol.keyFor(s1)); //A
注:这个方法只能与以Symbol.for创建的变量配合使用
//对象的遍历
let xuechanglong = {
name: "XCL",
age: 18,
gender: "female"
}
for (let i in xuechanglong) {
console.log(i);
}
注:使用for..in是无法获取Symbol值
当Symbol.for()不写注册信息和注册信息写undefined是一样的。
console.log(Symbol.for()==Symbl.for(undefined)) //true
拓展:
isNaN is not a number
isNaN是一个判断,判断括号的内容,是不是非数字
如果是非数字,就返回true
如果不是非数字,就返回false
ES6 新增,除了NaN返回true,其他都返回false
复杂数据类型:object
为什么不报错
构造函数的内部机制(原理)
Json Math
String Date
正则表达式
以上是关于数据类型理论的主要内容,如果未能解决你的问题,请参考以下文章