前言
总结收集JavaScript的一些关键知识点
js数据类型
6大数据类型
五种基本数据类型
Number
String
Boolean
Undefined
Null
一种引用数据类型
Object(Array,Date,RegExp,Function)
JSONP
JSON with Padding
是 json 的一种"使用模式"。
script
标签的src
属性来实现跨域。script
标签的src
属性,因此只支持get
方法CORS
Cross-origin resource sharing
)。XMLHttpRequest
请求,从而克服了AJAX只能同源使用的限制。服务器代理
当你需要有跨域的请求操作时发送请求给后端,让后端帮你代为请求,然后最后将获取的结果发送给你。
几个重要属性
prototype
JavaScript的对象中都包含了一个prototype
内部属性,这个属性所对应的就是该对象的原型。__proto__``prototype
作为对象的内部属性,是不能被直接访问的。所以为了方便查看一个对象的原型,Firefox和Chrome中提供了__proto__
这个非标准(不是所有浏览器都支持)的访问器。constructor
在JavaScript的原型对象中,constructor
返回创建所有指向该原型的实例的构造函数。防抖与节流函数是一种最常用的 高频触发优化方式,能对性能有较大的帮助。
function debounce(fn, wait, immediate) {
let timer = null
return function() {
let args = arguments
let context = this
if (immediate && !timer) {
fn.apply(context, args)
}
if (timer) clearTimeout(timer)
timer = setTimeout(() => {
fn.apply(context, args)
}, wait)
}
}
function throttle(fn, wait, immediate) {
let timer = null
let callNow = immediate
return function() {
let context = this,
args = arguments
if (callNow) {
fn.apply(context, args)
callNow = false
}
if (!timer) {
timer = setTimeout(() => {
fn.apply(context, args)
timer = null
}, wait)
}
}
}