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. swift 粒子效果

    1. override func viewDidLoad() { super.viewDidLoad() let rect = CGRect(x: 0.0, y: -70.0, width: view ...

  2. 七牛存储qshell工具

    ---恢复内容开始--- 工具地址:https://developer.qiniu.com/kodo/tools/1302/qshell 下载完成后:根据自己的系统选择需要的可执行文件,支持linux ...

  3. EventEmitter事件处理器中的this问题

    JavaScript中的this是一个比较绕的问题,有非常非常多的文章在讲这件事,这里推荐一篇文章,看了这篇文章基本上就能弄明白了. 这篇文章讲了关于this的一个基本原则: 包含this的Funct ...

  4. 部署代码review和CI

    公司原先搭了一个代码Review的服务器,由于历史原因,装的是一个32bit的Ubuntu系统,后来由于需要,需要安装gitlab,由于gitlab需要64位系统,所以临时凑合了个vagrant,本质 ...

  5. python+selenium,打开浏览器时报selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH

    有一年多没写web自动化了,今天搭建环境的时候报了一个常见错误,但是处理过程有点闹心,报错就是常见的找不到驱动<selenium.common.exceptions.WebDriverExcep ...

  6. UI设计学习之工具中的色彩模式分析

    图像根据其呈现的颜色样式分为多种色彩模式,常见的为RGB模式.CMYK模式.灰度模式.位图模式和索引模式. ​ RGB模式 这是Photoshop最常用的颜色模式,也称之为真彩色颜色模式,在RGB模式 ...

  7. 如何将一个excel表格的数据匹配到另一个表中

    我们在操作excel表的时,有时需要将一个excel表中的数据匹配到另一个表中,那么就需要用到VLOOKUP函数,VLOOKUP函数是Excel中的一个纵向查找函数,VLOOKUP是按列查找,最终返回 ...

  8. bower简明入门教程

    什么是bower: Bower是一个客户端技术的软件包管理器,它可用于搜索.安装和卸载如JavaScript.HTML.CSS之类的网络资源.其他一些建立在Bower基础之上的开发工具,如YeoMan ...

  9. 第一天接触stm32

    1.先新建一个文件夹,里面分别键六个名为COMSIS.FWLIB.HARDWARE.MDK.OBJ.USER的空文件夹 2.创建好文件夹就可以往里面添加文件啦,这三个文件夹放置如图所示的文件,其余三个 ...

  10. flume1.4.0源码结构剖析

    flume基本思想: source负责收集数据,channel负责缓存数据,sink负责消费channel中的数据,具体使用方式这里不赘述 生命周期管理: 生命周期相关代码在flume-ng-core ...