码迷,mamicode.com
首页 > 其他好文 > 详细

数据类型理论

时间:2019-12-09 21:38:15      阅读:98      评论:0      收藏:0      [点我收藏+]

标签:属性   获取   数值   ons   空值   字母   object   实现   生成   

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
正则表达式

数据类型理论

标签:属性   获取   数值   ons   空值   字母   object   实现   生成   

原文地址:https://www.cnblogs.com/x0815/p/12013350.html

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