zoukankan      html  css  js  c++  java
  • JavaScript基础(01_基本数据类型)

    字面量和变量

    • 字面量,都是一些不可改变的值

      • 比如:1,2,3,4

      • 字面量可以直接使用,但是一般不会直接使用字面量

    • 变量,可以用来保存字面量,而且变量的值是可以任意改变的

      • 变量方便使用

      • 声明变量,在js中使用var关键字来声明一个变量

        var b=789;
    • 标识符

      • 在JS中所有的可以由我们自主命名的都可以成为标识符

      • 例如:变量名、函数名、属性名都属于标识符

      • 命名一个标识符时需要遵守如下规则:

        • 标识符中可以含有字母、数字、"_"、"$"

        • 标识符不能以数字开头

        • 标识符不能是ES中的关键字或者保留字

        • 标识符一般都采用驼峰命名法

        • 如:helloWorld 、 xxYyZzz

      • JS底层保存标识符时实际上是采用的Unicode编码

    数据类型(字面量的类型)

    • js中共六种数据类型:

      • String 字符串

        • 使用双引号或者单引号引起来,但是不要混合使用

        • 引号嵌套时要混用

        • 在字符串中可以使用作为转义字符

      • Number 数值

        • 在JS中所有的数值都是Number类型,包括证书和浮点数

        • JS中表示的数字最大值 1.7976931348623157e+30

        • 如果是用Number表示的数字超过了最大值,则会返回一个Infinity,表示正无穷

          • 正无穷 Infinity 都是Number类型

          • 负无穷 -Infinity 都是Number类型

          console.log(Number.MAX_VALUE)
        • NaN 是一个特殊数字,表示not a number , NaN也是一个数字类型

        console.log(Number.MIN_VALUE)
        • 如果使用JS进行浮点数计算,可能得到一个不精确的结果

        • 所以千万不要使用JS进行对精确度要求比较高的运算

        • 如果要表示16进制数字,需要以0x开头

        • 如果需要表示8进制,需要0开头

        • 如果需要表示2进制的数字,则需要0b开头,不过不是所有浏览器都支持

      • Boolean 布尔值

        • true - 表示真

        • false - 表示假

      • Null 空值

        • 类型的值只有一个,就是null,表示空值

        • 这个值专门用来表示 一个空对象

        • 使用typeof 检查null,返回object

      • Undefined 未定义

        • Undefined 值只有一个,就是undefined,表示未定义

        • 使用typeof 检查Undefined,返回 undefined

      • Object 对象

    • 其中String、Number、Boolean、Null、Undefined属于基本数据类型

    • Object属于引用数据类型

    • js中的变量都是保存到栈内存中的

      • 形式:变量名=变量值

      • 基本数据类型的值直接在栈内存中进行存储

      • 值与值之间是独立存在的,修改一个变量不会影响其他的变量的值

    • js对象是保存到堆内存中的

      • 每创建一个新的对象,就会在堆内存中开辟出一个新的内存空间

      • 而变量保存的是对象所对应的内存地址(对象的引用)

      • 当通过一个变量修改属性时,另一个也会受到影响

    • 当比较两个基本数据类型的值时,就是比较值

    • 而比较两个引用数据类型时,他们比较的是对象的内存地址

      • 如果两个对象是一模一样的,但是内存地址不同,但也返回false

  • 相关阅读:
    java基础面试
    GC 相关 ---垃圾回收机制
    JVM 内存管理--jvm内存的划分
    Java 中创建一个对象的过程?
    双亲委派模型(Parent Delegation Model)?
    4、ReactJs基础知识04--state&&生命周期
    3、ReactJs基础知识03--组件&&props
    2、ReactJs基础知识02--元素渲染
    1、ReactJs基础知识01--入门使用
    再次理解JSONP
  • 原文地址:https://www.cnblogs.com/lich1x/p/13696527.html
Copyright © 2011-2022 走看看