摘要:倒數(shù)第三位加上倒數(shù)第三位,再加上進(jìn)位,如果大于等于,產(chǎn)生進(jìn)位。。。。第一循環(huán)結(jié)束,進(jìn)行第二循環(huán)。第二循環(huán)是指,數(shù)字較小或者長(zhǎng)度較短的數(shù)字已經(jīng)加完結(jié)束了。拖拽節(jié)流一個(gè)函數(shù)只有在大于執(zhí)行周期時(shí)才執(zhí)行,周期內(nèi)調(diào)用不執(zhí)行。
實(shí)現(xiàn)promise
const PENDING = "pending" const RESOLVED = "resolved" const REJECTED = "rejected" function MyPromise(fn){ const that = this that.state = PENDING that.value = null that.resolvedCallbacks = [] that.rejectedCallbacks = [] function resolve(value) { if(that.state === PENDING) { that.state = RESOLVED that.value = value that.resolvedCallbacks.map(cb => cb(that.value)) } } function reject(value) { if(that.state === PENDING){ that.state = REJECTED that.value = value; that.rejectedCallbacks.map(cb => cb(that.value)); } } try { fn(resolve, reject) } catch (e) { reject(e) } } MyPromise.prototype.then = function(onFulfilled, onRejected) { const that = this //對(duì)傳入的兩個(gè)參數(shù)做判斷,如果不是函數(shù)將其轉(zhuǎn)為函數(shù) onFulfilled = typeof onFulfilled === "function" ? onFulfilled : v => v // onFulfilled = v => v onRejected = typeof onRejected === "function" ? onRejected : r => { throw r } if(that.state === PENDING) { that.resolvedCallbacks.push(onFulfilled) that.rejectedCallbacks.push(onRejected) } else if(that.state === RESOLVED) { onFulfilled(that.value) } else { onRejected(that.value) } } new MyPromise((resolve, reject) => { setTimeout(() => { resolve("成功的回調(diào)數(shù)據(jù)") }, 1000) }).then(value => { console.log("Promise.then: ", value) })大數(shù)相加
1.末尾加上末尾,如果大于等于10,產(chǎn)生進(jìn)位。如果沒有進(jìn)位就是0.2.倒數(shù)第二位加上倒數(shù)第二位,再加上進(jìn)位,如果大于等于10,產(chǎn)生進(jìn)位。3.倒數(shù)第三位加上倒數(shù)第三位,再加上進(jìn)位,如果大于等于10,產(chǎn)生進(jìn)位。。。。直到加完數(shù)字小的位數(shù)。第一循環(huán)結(jié)束,進(jìn)行第二循環(huán)。第二循環(huán)是指,數(shù)字較小(或者長(zhǎng)度較短)的數(shù)字已經(jīng)加完結(jié)束了。剩下的就是第一循環(huán)加完后,剩下的進(jìn)位與剩下的相加。
//bigNumberA和bigNumberB使用字符串存儲(chǔ),否則會(huì)自動(dòng)轉(zhuǎn)化為科學(xué)計(jì)數(shù) let bigNumberAdd = (bigNumberA, bigNumberB) => { let A = (bigNumberA + "").split(""); let B = (bigNumberB + "").split(""); let aLen = A.length, bLen = B.length, cLen = Math.max(aLen, bLen) + 1; let result = [], prefix = 0; for (let i = 0; i< cLen -1; i++ ) { let a = aLen - i - 1 >= 0 ? parseInt(A[aLen - i - 1]) : 0, b = bLen - i - 1 >= 0 ? parseInt(B[bLen - i - 1]) : 0; result[i] = (a + b + prefix) % 10; prefix = Math.floor((a + b + prefix) / 10); } return result.reverse().join(""); }; bigNumberAdd("45486646468484544661134868968","544545867466464646");純js寫一個(gè)動(dòng)畫,5s由快到慢,速度自定義
animation ease
實(shí)現(xiàn)一個(gè)三角形.triangle{ width:0; height:0; border-left:50px solid transparent; border-right:50px solid transparent; border-buttom:100px solid yellow; }快排是怎樣實(shí)現(xiàn)的 冒泡排序? 手寫二分查找 手寫求一個(gè)字符串中出現(xiàn)次數(shù)最多且長(zhǎng)度最長(zhǎng)的子串 反轉(zhuǎn)鏈表
var reverseList=function(head){ if(head===null||head.next===null){ return head; } var new_head=reverseList(head.next); head.next.next=head; head.next=null; return new_head; };圖片懶加載怎么做? 防抖
函數(shù)防抖就是在函數(shù)需要頻繁觸發(fā)的情況下,只有足夠的空閑時(shí)間,才執(zhí)行一次。
典型應(yīng)用
百度搜索框在輸入稍有停頓時(shí)才更新推薦熱詞。
拖拽
function debounce(handler, delay){ delay = delay || 300; var timer = null; return function(){ var _self = this, _args = arguments; clearTimeout(timer); timer = setTimeout(function(){ handler.apply(_self, _args); }, delay); } }節(jié)流
一個(gè)函數(shù)只有在大于執(zhí)行周期時(shí)才執(zhí)行,周期內(nèi)調(diào)用不執(zhí)行。好像水滴積攢到一定程度才會(huì)觸發(fā)一次下落一樣。
典型應(yīng)用:
搶券時(shí)瘋狂點(diǎn)擊,既要限制次數(shù),又要保證先點(diǎn)先發(fā)出請(qǐng)求
窗口調(diào)整
頁面滾動(dòng)
function throttle(handler, wait){
wait = wait || 300; var lastTime = 0; return function(){ var _self = this, _args = arguments; var nowTime = new Date().getTime(); if((nowTime - lastTime) > wait){ handler.apply(_self, _args); lastTime = nowTime; } } }js中最大整數(shù)是多少?
9開頭
數(shù)組扁平化是指將一個(gè)多維數(shù)組變?yōu)橐痪S數(shù)組[1, [2, 3, [4, 5]]] ------> [1, 2, 3, 4, 5]
遞歸法:
function flatten(arr) { let res = []; arr.map(item => { if(Array.isArray(item)) { res = res.concat(flatten(item)) } else { res.push(item); } }) return res; }js如何存儲(chǔ)一個(gè)數(shù)據(jù)?
cookie,session,localStorage,sessionStorage
正則表達(dá)式 nginx的適合做什么,反向代理,正向代理 http 中如果想要使用緩存需要設(shè)置哪些字段Expires、Cache-Control、(強(qiáng)緩存)
Last-Modified、Etag。(協(xié)商緩存)
map、filter、concat、slice
解析302、303、304、404、400狀態(tài)碼 對(duì)稱加密和非對(duì)稱加密有哪些區(qū)別?又有哪些應(yīng)用 websocket 如何傳輸文件WebSocket發(fā)送圖片時(shí)候,我建議是進(jìn)行圖片壓縮,最好把圖片壓縮在100K以內(nèi)。
websocket發(fā)送大文件的時(shí)候,經(jīng)過我的測(cè)試,如果客戶端連接的服務(wù)器端的量比較大,分段發(fā)送,然后保存到數(shù)據(jù)庫。
進(jìn)程是操作系統(tǒng)資源分配的基本單位,而線程是任務(wù)調(diào)度和執(zhí)行的基本單位。
個(gè)程序至少有一個(gè)進(jìn)程,一個(gè)進(jìn)程至少有一個(gè)線程。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104316.html
摘要:個(gè)人前端文章整理從最開始萌生寫文章的想法,到著手開始寫,再到現(xiàn)在已經(jīng)一年的時(shí)間了,由于工作比較忙,更新緩慢,后面還是會(huì)繼更新,現(xiàn)將已經(jīng)寫好的文章整理一個(gè)目錄,方便更多的小伙伴去學(xué)習(xí)。 showImg(https://segmentfault.com/img/remote/1460000017490740?w=1920&h=1080); 個(gè)人前端文章整理 從最開始萌生寫文章的想法,到著手...
摘要:構(gòu)造函數(shù)通常首字母大寫,用于區(qū)分普通函數(shù)。這種關(guān)系常被稱為原型鏈,它解釋了為何一個(gè)對(duì)象會(huì)擁有定義在其他對(duì)象中的屬性和方法。中所有的對(duì)象,都有一個(gè)屬性,指向?qū)嵗龑?duì)象的構(gòu)造函數(shù)原型由于是個(gè)非標(biāo)準(zhǔn)屬性,因此只有和兩個(gè)瀏覽器支持,標(biāo)準(zhǔn)方法是。 從這篇文章開始,復(fù)習(xí) MDN 中級(jí)教程 的內(nèi)容了,在初級(jí)教程中,我和大家分享了一些比較簡(jiǎn)單基礎(chǔ)的知識(shí)點(diǎn),并放在我的 【Cute-JavaScript】系...
摘要:如何讓根據(jù)拆箱轉(zhuǎn)換,以及的隱式轉(zhuǎn)換,可以如下寫為什么計(jì)算機(jī)中所有的數(shù)據(jù)都是以二進(jìn)制存儲(chǔ)的,所以在計(jì)算機(jī)計(jì)算時(shí)要把數(shù)據(jù)先轉(zhuǎn)換成二進(jìn)制進(jìn)行計(jì)算,然后把計(jì)算結(jié)果轉(zhuǎn)換成十進(jìn)制。會(huì)存在精度丟失問題和的二進(jìn)制都是以無線循環(huán)的小數(shù)的二進(jìn)制的二進(jìn)制 本想著記筆記里,但是筆記里沒有分類,還是以文章的形式,當(dāng)個(gè)人總結(jié)吧,這一篇就當(dāng)作JS基礎(chǔ)篇的記錄吧,有修改的和新增的持續(xù)更新~ 關(guān)于JS的一些小技巧 1:...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純?cè)瓌?chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書...
摘要:全文為這些年,我曾閱讀深入理解過或正在閱讀學(xué)習(xí)即將閱讀的一些優(yōu)秀經(jīng)典前端后端書籍。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 全文為這些年,我曾閱讀、深入理解過(或正在閱讀學(xué)習(xí)、即將閱讀)的一些優(yōu)秀經(jīng)典前端/Java后端書籍。全文為純?cè)瓌?chuàng),且將持續(xù)更新,未經(jīng)許可,不得進(jìn)行轉(zhuǎn)載。當(dāng)然,如果您喜歡這篇文章,可以動(dòng)手點(diǎn)點(diǎn)贊或者收藏。 基礎(chǔ) 基礎(chǔ)書籍 進(jìn)階 進(jìn)階階段,深入學(xué)習(xí)的書...
閱讀 2498·2021-08-11 11:16
閱讀 2938·2019-08-30 15:55
閱讀 3337·2019-08-30 12:53
閱讀 1578·2019-08-29 13:28
閱讀 3271·2019-08-28 18:17
閱讀 944·2019-08-26 12:19
閱讀 2475·2019-08-23 18:27
閱讀 712·2019-08-23 18:17