var class2type = {}; jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ), function( i, name ) { class2type[ "[object " + name + "]" ] = name.toLowerCase(); } );
//字面量方式 var arr = [1, 3, "9"]; //[1,3,'9'] //构造器方法 var a = Array(); //[] var a = Array(3); //[,,] var a = Array(1, 3, "9"); //[1,3,'9'] //ES6 Array.of()返回由所有参数值组成的数组 let a = Array.of(1, 3, "9"); //[1,3,'9'] let a = Array.of(); //[] let a = Array.of(3); //[3] //ES6 Array.from()将类数组对象转成真正的数组(不改变原对象,返回新数组) //参数: //- 第一个(必需):要转化为真正数组的对象 //- 第二个(可选):类似数组的map方法,对每个元素进行处理,将处理结果放入返回的新数组中 //- 第三个(可选):用来绑定this let obj = { 0: "a", 1: "b", 2: "c", length: 3 }; let arr = Array.from(obj); //['a','b','c'] let arr = Array.from("hello"); //['h','e','l','l','o'] let arr = Array.from(newSet(["a", "b"])); ["a", "b"];
原型方法
改变原数组的方法(9 个)
1 2 3 4 5 6 7 8 9 10 11 12 13
let a = [1, 2, 3]; //ES5 a.splice(); a.sort(); a.pop(); a.push(); a.shift(); a.unshift(); a.revese();
//ES6 a.copyWithin(); a.fill();
不改变原数组的方法(8 个)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
let a = [1, 2, 3]; a.slice(begin, end); //浅拷贝数组元素 a.join(); //数组转字符串 a.toLocaleString(); a.toString(); a.concat(); a.indexOf(); //查找数组是否存在某个元素,返回下标 a.lastIndexOf(); //定义: 方法返回指定元素,在数组中的最后一个的索引,如果不存在则返回 -1。(从数组后面往前查找)
//ES6 扩展运算符 ... 合并数组; let a = [2, 3, 4, 5]; let b = [4, ...a, 4, 4]; //[4,2,3,4,5,4,4]
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
'npm [-v | --version]' to print npm version 'npm view <pkg> version' to view a package's published version 'npm ls' to inspect current package/dependency versions
OSI 参考模型(Open System Interconnection Reference Model,开放式系统互联通信参考模型),是 ISO (国际标准化组织)组织在 1985 年研究的网络互联模型。该体系结构标准定义了网络互连的七层框架(物理层、数据链路层、网络层、传输层、会话层、表示层和应用层),在这一框架下进一步详细规定了每一层的功能,以实现开放系统环境中的互连性、互操作性和应用的可移植性。
ISO 通信功能七个层次的划分原则是:
网路中各节点都有相同的层次;
不同节点的同等层具有相同的功能;
同一节点内相邻层之间通过接口通信;
每一层使用下层提供的服务,并向其上层提供服务;
不同节点的同等层按照协议实现对等层之间的通信。
OSI 参考模型具有以下优点:
简化了相关的网络操作;
提供设备间的兼容性和标准接口;
促进标准化工作;
结构上可以分隔,各层可以独立修改或者扩充;
易于实现和维护;
有利于大家学习、理解数据通讯网络。
各层功能详述如下
物理层 (Physical Layer):物理层是 OSI 参考模型的最低层,它利用传输介质为数据链路层提供物理连接。它主要关心的是通过物理链路从一个节点向另一个节点传送比特流,物理链路可能是铜线、卫星、微波或其他的通讯媒介。它关心的问题有:多少伏电压代表 1 ?多少伏电压代表 0 ?时钟速率是多少?采用全双工还是半双工传输?总的来说物理层关心的是链路的机械、电气、功能和规程特性。
数据链路层 (Data Link Layer):数据链路层是为网络层提供服务的,解决两个相邻结点之间的通信问题,传送的协议数据单元称为数据帧。数据帧中包含物理地址(又称 MAC 地址)、控制码、数据及校验码等信息。该层的主要作用是通过校验、确认和反馈重发等手段,将不可靠的物理链路转换成对网络层来说无差错的数据链路。此外,数据链路层还要协调收发双方的数据传输速率,即进行流量控制,以防止接收方因来不及处理发送方来的高速数据而导致缓冲器溢出及线路阻塞。
一些特定的程序被认为运行在这个层上。它们提供服务直接支持用户应用。这些程序和它们对应的协议包括 HTTP(万维网服务)、FTP(文件传输)、SMTP(电子邮件)、SSH(安全远程登陆)、DNS(名称<-> IP 地址寻找)以及许多其他协议。 一旦从应用程序来的数据被编码成一个标准的应用层协议,它将被传送到 IP 栈的下一层。->