js学习笔记
一:js数据类型
   1:基本数据类型
       number类型(整数,小数)
      String类型  
       boolean类型
       NaN类型其实是一个number类型表示它不是一个
       null类型其实也是一个object类型的指代的是空对象的引用
       undefined类型表示一个变量没有被初始化

2:引用数据类型
      object
   如果想知道一个变量所属的数据类型可以用typeof操作符
二:数组
   1:数组的定义:类似于java中的map容器,数组的内容不一定是相同类型的数据
     第一种方法:
      var arr = new Array();
         arr.push; 
     第二种方法:
      var arr = [1,2,3,true,"adsas"];
    
   2:常用方法:push,pop,shift,unshift,splice,slice,concat,join,sort,reverse

数组的大小是可以任意改变的 如:arr.length = 5;强制将数组的长度改为5
    
    push 方法:直接操作数组
 
    我们有的时候需要在数组中加入一个或者多个数据这时候我们可以用push方法
   
           eg:arr.push(null);[1,2,3,true,"adsas",null]
   
    pop方法:直接操作数组
          
            从现有数组中弹出最后一个数据出来并且删除最后一个数据
        
            eg:arr.pop(); //null

shift方法:直接操作数组
 
            删除第一个元素并且返回第一个元素的值
             
            eg:arr.shift();//1
         
    unshift方法:直接操作数组返回一个新的数组
     
            在数组的首部插入一个数组或者元素
              
            eg:arr.unshift(a2);返回一个新的数组   
    
    splice方法:直接操作数组放回一个删除了的数组,第一个参数是从哪个位置开始删除,
                
                第二个参数是要删除的元素个数    
                
                第三个参数表示追加的新元素个数
              
               arr = [1,2,3,true,"adsas"]
               eg:arr.splice(1,2,3,4,5);//[1,3,4,5,true,"adsas"]

slice方法:不直接操作数组,纯粹的截取数组,参数是左开右闭,类似于java字符串操作

eg:var sliceResult = arr.slice(0,3);//截取的是arr[0],arr[1],arr[2]
        
                 返回一个截取的数组sliceResult因为之前的arr数组没有改变

concat方法:不直接操作数组,是做数组的链接,返回一个链接之后的数组对象
              
               但是该方法只针对number | string | boolean

var a1 = [1,2,3,4,5,true];

var a2 = [false,"asda",null,undefined];

var a3 = a1.concat(a2);//[1,2,3,4,5,true,false,"asda",undefined]             
    
   join方法:不直接操作数组,将数组按照特定的分隔符进行分割
      
               var a1 = [1,2,3]
         
               a1.join("-"); //[1-2-3]
               
               console.log(a1); [1,2,3]   
  sort方法:直接操作数组,将数组按照字符的编码顺序进行排序,数字也当成字符进行处理例如:以下例子:
              var map1 = [3,20,9];
  
              map1.sort(); //[20,3,9];
             排序的时候只比较数字的第一个数字20的第一个数字就是2所以将2放到了最前面。   
              在例如:      
              var map2 = [120,190,180,110];  
              map2.sort(); //[110,120,180,190]
              如果是一位数,二位数,三位数或者更多位数进行比较的时候首先是比较第一个字符谁大谁小,大的排到后面
              var map3 = [110,1,11,8,20,130,100]
              map3.sort();//[1,100,11,110,130,20,8]

2019-4-29 js学习笔记的更多相关文章

  1. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  2. Vue.js学习笔记(2)vue-router

    vue中vue-router的使用:

  3. JS 学习笔记--9---变量-作用域-内存相关

    JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...

  4. WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)

    WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...

  5. WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法

    WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...

  6. WebGL three.js学习笔记 创建three.js代码的基本框架

    WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...

  7. vue.js 学习笔记3——TypeScript

    目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...

  8. 一点感悟:《Node.js学习笔记》star数突破1000+

    写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...

  9. JS学习笔记5_DOM

    1.DOM节点的常用属性(所有节点都支持) nodeType:元素1,属性2,文本3 nodeName:元素标签名的大写形式 nodeValue:元素节点为null,文本节点为文本内容,属性节点为属性 ...

随机推荐

  1. ROS零门槛学渣教程系列(一)——ubuntu安装

    本教程使用虚拟机安装ubuntu 实验前准备:下载ubuntu系统镜像 本教程使用的是ubuntu14.04lts版本,有能力的读者可自行下载安装. 推荐使用本人制作的镜像,该镜像已安装好ROS.和配 ...

  2. VBA 生成XML(转)

    需要引用连个库,Microsoft ADO Ext. 6.0 for DDL and Security, Miscrosoft  ActiveX Data Objects 2.7 Library . ...

  3. VBA实现表单自动编号

    效果:每次提交或刷新标段,表单案指定格式实现自动编号.如当天日期加数字编号的格式 即 2019年2月3日产生的第一张表单产生的编号格式为20190203-001 以此类推第二张表单编号为2019020 ...

  4. Linux驱动之LCD驱动编写

    在Linux驱动之内核自带的S3C2440的LCD驱动分析这篇博客中已经分析了编写LCD驱动的步骤,接下来就按照这个步骤来字尝试字节编写LCD驱动.用的LCD屏幕为tft屏,每个像素点为16bit.对 ...

  5. LaTeX入门

    原写于我的洛谷博客,由于洛谷的\(\mathtt{markdown}\)编辑器和博客园的\(\mathtt{markdown}\)编辑器有点差别,所以实在懒得进行微调,就直接挂一个到洛谷博客的链接好了 ...

  6. 对DOM,SAX,JDOM,DOM4J四种方法解析XML文件的分析

    1.DOM 与平台无关的官方解析方式 DOM是一次性把xml文件加载到内存中,形成一个节点树 对内存有要求 2.SAX java提供的基于事件驱动的解析方式 每次遇到一个标签,会触发相应的事件方法 3 ...

  7. rpm --rebuilddb

    rpm -ivh .....rpm 报Bus Error rpm --rebuilddb

  8. python-directory

    #!/usr/bin/python # --*-- coding: utf-8 --*-- directory={ "张三":16, "李四":46, &quo ...

  9. 初识spark的MLP模型

    初识Spark的MLP模型 1. MLP介绍 Multi-layer Perceptron(MLP),即多层感知器,是一个前馈式的.具有监督的人工神经网络结构.通过多层感知器可包含多个隐藏层,实现对非 ...

  10. appium sendkeys 输入数字丢失问题

    参考:https://blog.csdn.net/rainshine1190/article/details/82814503