【博学谷学习记录】超强总结,用心分享 JavaScript高级内容笔记

闭包

闭包:内层函数+外层函数变量 可以访问外层函数的变量的函数
闭包的作用:可以实现数据私有,让内外层变量关联
闭包的缺点:会导致内存泄露

更改内存指向

call方法调用函数,更改函数this指向,第二个参数传递普通参数
apply方法调用函数,更改this指向,只接受数据作为第二个参数
bind方法调用函数但不执行函数,更改this指向,普通参数

变量提升或叫预解析

var声明的变量存在变量提升的问题
变量提升是指把var声明的变量提升声明,但不赋值
函数也存在变量提升,js会把函数声明提升,但不执行调用

同源跨域

同源策略:不同协议的URL地址相互请求资源时会被浏览器拦截,这是一种安全策略,任何一个标准浏览器都支持这个策略,需要注意的是,跨域请求时可以发出的,只是在客户端浏览器是会被拦截的。
跨域请求:由同源策略发出的不同URL之间请求资源的请求叫做跨域请求。

跨域请求不被拦截的方法

使用JSONP实现跨域
原理:动态创建Script标签
JSONP发送的不是Ajax请求,不需要XMLHttprequests或者ActiveX的支持,只支持get请求

使用CORS实现跨域(主流方式)
CORS是Express下的第三方中间件,需要在express下安装CORS中间件,并导入使用。
CORS发送的是真正的Ajax请求,支持Ajax的跨域,只要服务支持CORS跨域资源共享,则浏览器肯定能够正常访问这种CORS接口,支持所有类型的HTTP请求。

HTTP请求方式

GET:获取服务器资源
POST:提交服务器资源
PUT:修改服务器资源
DELETE:删除服务器资源

域名与IP、端口,url

IP是互联网设备的唯一标识,IPv4与IPv6是现在主流的ip地址形式。

域名:域名是IP的别称,为了方便记忆而指指定的域名与ip的映射关系,有专门的DNS解析帮助实现IP的转换。

端口:每台计算机都有65536个端口,每个端口代表一个服务的入口

URL:统一资源定位符,标识internet上的资源地址。通常由协议、域名或ip或主机地址、端口号、资源路径组成。

构造函数与类的区别

类中的成员和方法都是定义在类中,类创建对象后,这些对象的方法都是引用同一个方法,这样可以节省存储空间。
构造函数在创建对象后,却不是引用同一个方法,应用同一方法需要在构造函数的原型对象上定义方法,才可以被共享。

原型链

构造函数有一个prototype的属性指向它的原型对象,构造函数通过实例化得到实例对象,实例对象有一个__proto__属性指向构造函数的原型对象,构造函数的原型对象有一个constructor属性指回构造函数,实例对象也有一个constructor属性指回构造函数,构造函数的原型对象也有一个__proto__属性指向Object的原型对象,Object的原型对象也有__proto__属性指向NUll,Object的原型对象有一个consructor属性指向Object构造函数。
应用:成员查找机制利用原型链的关系查找

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值