前端笔记之js总结

#

apply()函数有两个参数:第一个参数是上下文,第二个参数是参数组成的数组;

#

如果第一个参数是null,则使用全局对象代替;

#

call和apply的意思一样,只不过是参数列表不一样.

#

通过apply可以将数组装换为参数列表的集合

#

call 、bind 、 apply 这三个函数的第一个参数都是 this 的指向对象,第二个参数差别就来了: call的参数是直接放进去的,第二第三第n个参数全都用逗号分隔,直接放到后面 obj.myFun.call(db,'成都', ... ,'string' ); apply的所有参数都必须放在一个数组里面传进去 obj.myFun.apply(db,['成都', ..., 'string' ]); bind除了返回是函数以外,它 的参数和call 一样。 当然,三者的参数不限定是string类型,允许是各种类型,包括函数 、 object 等等!

#

扫描二维码关注公众号,回复: 13163463 查看本文章

JS概念里,万物皆对象,所以数组不仅仅是数组本身,同时还是对象。length是数组本身独有的属性,对象没有该属性,当按照数组添加成员的方式添加成员时,数组本身会更新length,而以对象添加属性的方式添加成员时,不会触发关于数组的更新,而仅仅是把arr当做一个普通的对象操作!

#

pop方法:用于删除并返回数组的最后一个元素,把数组长度减1,并且返回它删除的元素的值。如果数组已经为空,则pop()不改变数组,并返回undefined值

splice()方法:向/从数组中添加/删除项目,然后返回被删除的项目,该方***改变原始数组

sort()方法:用于对数组的元素进行排序。返回对数组的引用。请注意,数组在原数组上进行排序,不生成副本。

concat()方法: 用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

#

JavaScript内部,所有数字都是以64位浮点数形式储存,即使整数也是如此

8 Byte = 64bit

Javascript中,由于其变量内容不同,变量被分为基本数据类型变量和引用数据类型变量。基本类型变量用八字节内存,存储基本数据类型(数值、布尔值、null和未定义,string)的值,引用类型变量则只保存对对象、数组和函数等引用类型的值的引用(即内存地址)。

2. JS中的数字是不分类型的,也就是没有byte/int/float/double等的差异。

#

浏览器不兼容CommonJS的根本原因,在于缺少四个Node.js环境的变量。 module exports require global

#

abc JavaScript 中包含以下 7 个全局函数,用于完成一些常用的功能:

escape( )、eval_r( )、isFinite( )、isNaN( )、parseFloat( )、parseInt( )、unescape( )。

#

超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本。超文本更是一种用户界面范式,用以显示文本及与文本之间相关的内容。现时超文本普遍以电子文档方式存在,其中的文字包含有可以链结到其他位置或者文档的连结,允许从当前阅读位置直接切换到超文本连结所指向的位置。超文本的格式有很多,目前最常使用的是超文本标记语言(标准通用标记语言下的一个应用)及富文本格式。

#

TCP协议本身保证了数据传输的可靠性,而UDP本身不保证数据传输的可靠性,而UDP在传输层,而传输层提供端对端的接口,即为应用进程间的通信,所以,其可靠性由应用进程提供

#

中继器:中继器是工作在物理层上的连接设备。常用于两个网络节点之间物理信号的双向转发工作。

#

网桥:网桥是一种对帧进行转发的技术,网桥将网络的多个网段在数据链路层连接起来。

#

路由器:路由器是互联网的“交通枢纽”,具有判断网络地址和选择IP路径的功能。路由器发生在网络层。

#

网关:网关又称协议转换器,仅用于两个高层协议不同的网络互连。网关是一个翻译器,对收到的信息要重新打包,以适应目的系统的需求。工作在网络层以上

#

如果环上的某个工作站收到令牌并且有信息发送,它就改变令牌中的一位(该操作将令牌变成一个帧开始序列),添加想传输的信息,然后将整个信息发往环中的下一工作站。信息帧沿着环传输直到它到达目的地,目的地创建一个副本以便进一步处理。信息帧继续沿着环传输直到到达发送站时便可以被删除(因此是在发送站回收)。发送站可以通过检验返回帧以查看帧是否被接收站收到并且复制。

# url

function getUrlParam(sUrl, sKey) {

var query = sUrl.split('?')[1];

var queryArr = query.split('&');

var queryArrLen = queryArr.length;

var res = {};

for (var i = 0; i < queryArrLen; i++) {

var item = queryArr[i].split('=');

var key = item[0];

var value = item[1];

var arr = [];

if (res[key]) {

if (res[key] instanceof Array) {

res[key].push(value);

}

else {

arr[0] = res[key];

res[key] = arr;

res[key].push(value);

}

}

else {

res[key] = value;

}

}

return res[sKey];

}

#

猜你喜欢

转载自blog.csdn.net/qq_45393395/article/details/120564674