• 数据类型理论


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

  • 相关阅读:
    【文智背后的奥秘】系列篇——基于CRF的人名识别
    【文智背后的奥秘】系列篇——自动文本分类
    浅析HTTPS与SSL原理
    memcached与redis实现的对比
    谈谈后台服务的灰度发布与监控
    Redis单机主从高可用性优化
    ./configure、make、make install
    qtchooser
    Linux上好用的工具集合
    eclipse使用javaFX写一个HelloWorkld
  • 原文地址:https://www.cnblogs.com/x0815/p/12013350.html
Copyright © 2020-2023  润新知