zoukankan      html  css  js  c++  java
  • js基础知识

    Number数字类型

      包含 :常规数字,NaN

    NaN

       not a number :不是一个数,但是它属于数字类型

    isNaN

       检测一个值是否为非有效数字,如果不是有效数字则返回 TRUE ,反之是有效数字返回FALSE

       在使用isNaN 进行检测的时候,首先会验证检测的值是否为数字类型,如果不是,先基于 Number() 这个方法,

            把值转换为数字类型,然后在检测。

    使用Number() 方法转换数字的规则如下:

      1 如果是Boolean 值 ,true 转换为  1 ,false 转换为 0

      2 如果是数字,只是简单的传人和 返回。

      3 如果是 Null 值,转化为 0.

      4 如果是 undefined  转换为 NaN

      5 如果是字符串,遵循以下规则:

             1 如果字符串中只包含数字,则将其装换为十进制数值。

             2 如果字符串中包含有效的浮点格式,则将其转换为对应的浮点数值.

             3 如果字符串中包含有效的十六进制格式,例如“0xf”z则将其转换为相同大小的十进制整数值

             4 如果字符串是空的。则将其转化为 0

             5 如果字符串中包含除上述格式之外的字符,则将其装换为NaN

          6 如果是对象,则调用对象的 valueof() 方法,然后依照前面的规则转换返回的值,如果装换的

        结果是NaN,则调用对象的toString()方法,然后再次依照前面的规则转换返回的字符串值。

       

    string 字符串类型

       所有用单引号,双引号,反引号,(撇 ES6模版字符串)包起来的都是字符串

    把其他类型转为字符串类型

      如果装换的值有 toString()方法,则调用 方法,并返回响应的结果

      如果值是 null  则返回 “null”

      如果值是 undefined 则返回 “undefined”

    boolean 布尔数据类型

          只有两个值。true / false;

    把其他类型的值转换为 布尔类型

        只有。0 NaN ‘’ null  undefined 这五个值,转换为 False ,其余都转换为 true (而且没有任何的特殊情况)

    null  /  undefined

     null 和 undefined 都代表的是没有

     

      null  :意料之中的(一般都是开始 不知道值,我们首先手动设置为null 后期在给予赋值操作)

     undefined : 意料之外,

     

    object 对象数据类型--普通对象

      任何一个对象都是由零到多组键值对(属性名:属性值)组成的。(并且属性名不能重复)

      数组是特殊的对象数据类型

    浏览器 想要执行 js 代码。需要准备的环境:

      1 从电脑内存中分配出一一个内存,用来执行代码 这块内存称为 栈内存(stack)

      2 分配一个主线程用来自上而下的执行js 代码

      

          js创建简单基本类型变量的过程。

         1 创建一个变量 a ,将 a 放到 当前栈内存变量存储区域中

         2 创建一个值  12将这个值存储在当前内存值区域中(这是简单的基本类型是这样存储的)

           3  = 号为赋值,其实赋值是让变量和值相互关联的过程

      js 创建引用类型变量的过程

         1 在内存中分配出一块新内存,用来存储引用类型值(堆内存==> heap )==>内村有一个16进制的地址。

         2 把对象中的键值对(属性名:属性值)依次存储到堆内存中,

         3 把堆内存地址和变量关联起来。

    基本数据类型与引用数据类型的区别

      基本类型:按值操作,所以也叫值类型。

      引用类型:操作的是堆内存的地址,按引用的地址操作的。

     

    练习题 :

      let n = [10,20]

      let m = n;

      let x = m;

      m[0] = 100;

         x = [30,40]

         x[0] = 200;

      m = x;

        m[1] = 300;

      m[2] = 400;

      console.log(n,m,x);

     结果为:n= [100,20,400]

        m=[200,300]

        x=[200,300]

      

  • 相关阅读:
    洛谷P2334
    线性基
    6.28 模拟赛解题报告
    左偏树
    哈夫曼树 Huffman
    CSP/NOIP 之前还需要学/复习的东西
    CF718C
    6.13 模拟赛结题报告
    关于模拟退火
    『笔记』网络流
  • 原文地址:https://www.cnblogs.com/wjgbok/p/11197217.html
Copyright © 2011-2022 走看看