function jie(num) {
if (num <= 1) {
return 1
} else {
return num * jie(num - 1)
}
}
function kUrl(str){
let al = str.split("?")
let objUrl={};
console.log(al)
let url = al[0]
let kv = al[1].split("&")
console.log(url)
console.log("键值对" + kv)
for (let i = 0; i < kv.length; i++) {
objUrl[kv[i].split("=")[0]] = kv[i].split("=")[1]
}
return objUrl;
}
let hu = "https://www.nowcoder.com/interview/center?anchor=companyExp&entranceType=%E7%99%BB%E5%BD%95%E9%A6%96%E9%A1%B5";
console.log(kUrl(hu))
function myInstanceof(left,right){
let rp = right.prototype;
left = left.__proto__;
while(true){
if(left === null){
return false
}
if(left === rp){
return true
}
left = left.__proto__
}
}
function shallowCopy(object) {
if (!object || typeof object !== "object") return;
let newObject = Array.isArray(object) ? [] : {};
for (let key in object) {
if (object.hasOwnProperty(key)) {
newObject[key] = object[key];
}
}
return newObject;
}
function deepCopy(object) {
if (!object || typeof object != 'object') return;
let newObject = Array.isArray(object) ? [] : {}
for (const objectKey in object) {
if (object.hasOwnProperty(objectKey)) {
newObject[objectKey] = typeof object[objectKey] === 'object' ? deepCopy(object[objectKey]) : object[objectKey]
}
}
}
Function.prototype.myCall = function(context = window){
context.fn = this
let args = [...arguments].slice(1)
let res = context.fn(...args)
delete context.fn
return res
}
function flatten(arr){
let newArr=[]
for (let i = 0
if (Array.isArray(arr[i])){
newArr= newArr.concat(flatten(arr[i]))
}else{
newArr.push(arr[i])
}
}
return newArr
}
export const fangdou=(fn, delay)=> {
let timer = null;
return function () {
if (timer !== null) {
clearTimeout(timer);
}
timer = setTimeout(() => {
fn.call(this);
}, 2000);
};
}
function jieliu(fn,delay){
let start = 0
return function(){
let now = new Date().getTime()
if (now-start<delay)return
fn()
start= now
}
}
function all(promises){
let length = promises.length
// 记录每个promise成功时结果,同时用于返回
let arr = []
return new Promise((resolve, reject) => {
for (let i = 0
promises[i].then(
res => {
arr[i] = res
if (arr.length === length) {
resolve(arr)
}
},
rej => {
reject(rej)
}
)
}
})
}