2019-4-29 js学习笔记
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学习笔记的更多相关文章
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- Vue.js学习笔记(2)vue-router
vue中vue-router的使用:
- JS 学习笔记--9---变量-作用域-内存相关
JS 中变量和其它语言中变量最大的区别就是,JS 是松散型语言,决定了它只是在某一个特定时间保存某一特定的值的一个名字而已.由于在定义变量的时候不需要显示规定必须保存某种类型的值,故变量的值以及保存的 ...
- WebGL three.js学习笔记 使用粒子系统模拟时空隧道(虫洞)
WebGL three.js学习笔记 使用粒子系统模拟时空隧道 本例的运行结果如图: 时空隧道demo演示 Demo地址:https://nsytsqdtn.github.io/demo/sprite ...
- WebGL three.js学习笔记 法向量网格材质MeshNormalMaterial的介绍和创建360度全景天空盒的方法
WebGL学习----Three.js学习笔记(5) 点击查看demo演示 Demo地址:https://nsytsqdtn.github.io/demo/360/360 简单网格材质 MeshNor ...
- WebGL three.js学习笔记 创建three.js代码的基本框架
WebGL学习----Three.js学习笔记(1) webgl介绍 WebGL是一种3D绘图协议,它把JavaScript和OpenGL ES 2.0结合在一起,通过增加OpenGL ES 2.0的 ...
- vue.js 学习笔记3——TypeScript
目录 vue.js 学习笔记3--TypeScript 工具 基础类型 数组 元组 枚举 字面量 接口 类类型 类类型要素 函数 函数参数 this对象和类型 重载 迭代器 Symbol.iterat ...
- 一点感悟:《Node.js学习笔记》star数突破1000+
写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...
- JS学习笔记5_DOM
1.DOM节点的常用属性(所有节点都支持) nodeType:元素1,属性2,文本3 nodeName:元素标签名的大写形式 nodeValue:元素节点为null,文本节点为文本内容,属性节点为属性 ...
随机推荐
- ThinkPHP5 与ThinkPHP3.2公共函数放置位置
最初使用ThinkPHP3..3的时候,我们自己定义的公共函数常常放置于 \Common\function.php 由于最近准备重新捡起微信开发,准备用ThinkPHP5进行微信公众号开发,使用到公共 ...
- jango路由层
简单的路由配置: urls.py from django.contrib import admin from django.urls import path, re_path from book_ap ...
- fmt.printf输出的格式
动 词 功 能 %v 按值的本来值输出 %+v 在 %v 基础上,对结构体字段名和值进行展开 %#v 输出 Go 语言语法格式的值 %T 输出 Go 语言语法格式的类型和值 %% 输出 % 本体 %b ...
- function 函数
function:函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回.因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑. 如果没有return语句,函数执行完毕后也 ...
- Eclispe 错误:找不到或无法加载加载主类
解决办法: Project --> Clean Clean 操作会将该 project 以前的所有编译信息清空,然后默认将所有工程的所有 .java 文件都进行一次编译,这样的话就可以方便的进行 ...
- MySQL学习入门安装和启动及常见问题解决方法(一)
1.下载MySQL 官网地址:https://www.mysql.com/downloads/ 2.个人学习使用,只有下面这个是免费的 3.下载之后解压到目录中,并加入环境变量,如下 创建MYSQL_ ...
- docker常用操作备忘
一.docker安装 参考资料:阿里云镜像加速1. 安装/升级Docker客户端 curl -fsSL https://get.docker.com | bash -s docker --mirror ...
- OO学期总结
一.测试与正确性论证差异对比 测试,顾名思义,就是用一些有意义或无意义的输入去检测程序的正确性或鲁棒性,因其直观明了所以在写简单的程序时我们能迅速找出bug并加以解决.并且,这种方式是绝对客观的,只要 ...
- dt常用类
经常使用的一些datatable的操作,包括一些过滤去重的方法 using System; using System.Collections; using System.Collections.Gen ...
- Python从入门到精通之Sixth!
补充:enumerate 函数用于遍历序列(元组tuple.列表list.字典dict)中的元素以及它们的下标: >>> for i,j in enumerate(('a','b', ...