摘要:實(shí)現(xiàn)布局一個(gè)垂直居中其距離屏幕左右兩邊各其高度始終是寬度的中有文本其文本水平垂直居中經(jīng)試驗(yàn)其高度始終是寬度的這個(gè)沒(méi)有實(shí)現(xiàn)函數(shù)中的是數(shù)組嗎類數(shù)組轉(zhuǎn)數(shù)組的方法了解一下類數(shù)組類型比較都不打印打印錯(cuò)了,知道為什么,但是不知道為啥是在異步代碼執(zhí)行
1. 實(shí)現(xiàn)css布局
一個(gè)div垂直居中
其距離屏幕左右兩邊各10px
其高度始終是寬度的50%
div中有文本"A"
其font—size:20px
文本水平垂直居中
A
ps: 經(jīng)試驗(yàn) 其高度始終是寬度的50% 這個(gè)沒(méi)有實(shí)現(xiàn)
2.函數(shù)中的arguments是數(shù)組嗎?類數(shù)組轉(zhuǎn)數(shù)組的方法了解一下?
arguments類數(shù)組
var array = [...arguments]
3.類型比較
if([]==false){console.log(1)};
if({}==false){console.log(2)};
if([]){console.log(3)}
if([1]==[1]){console.log(4)}
都不打印
4.EventLoop
async function a1 () { console.log("a1 start") await a2() console.log("a1 end") } async function a2 () { console.log("a2") } console.log("script start") setTimeout(() => { console.log("setTimeout") }, 0) Promise.resolve().then(() => { console.log("promise1") }) a1() let promise2 = new Promise((resolve) => { resolve("promise2.then") console.log("promise2") }) promise2.then((res) => { console.log(res) Promise.resolve().then(() => { console.log("promise3") }) }) console.log("script end")
打?。?br>script start
a1 start
a2
a1 end
script end
promise1
promise2
promise2.then
promise3
setTimeout
promise2錯(cuò)了,知道為什么,但是不知道為啥a1 end是在異步代碼執(zhí)行后打印的
5.改正代碼,輸出0123401234
function a () { for (var i = 0; i < 5; i++) { this.i = i setTimeout(function () { console.log(i) }, 0) console.log(this.i) } } a()
將var改成let 考察閉包
但是好像是錯(cuò)的....為什么改成let會(huì)中間出現(xiàn)undefined.....
改成let后:
01234undefined01234
6.手寫(xiě)bind實(shí)現(xiàn)
Function.prototype.bind2 = function (context) { var self = this; // 獲得bind的參數(shù)從第二個(gè)參數(shù)到最后一個(gè)參數(shù) var args = Array.prototype.slice.call(arguments, 1); var fNOP = function () {}; var fBound = function () { // 指bind返回的函數(shù)傳入的參數(shù) var bindArgs = Array.prototype.slice.call(arguments); // new bind返回的函數(shù),this失效,但傳入的參數(shù)生效 return self.apply(this instanceof fNOP ? this : context, args.concat(bindArgs)); } // 保證繼承,原型鏈,下面兩行代碼等同于Object.creater() fbound.prototype = Object.create(this.prototype); fNOP.prototype = this.prototype; fBound.prototype = new fNOP(); return fBound; }
7.看這個(gè)圖,我的理解是,持續(xù)觸發(fā)事件,每隔一段時(shí)間,只執(zhí)行一次事件,事件節(jié)流
function throttle(func, wait) { var context, args; var previous = 0; return function() { var now = +new Date(); context = this; args = arguments; if (now - previous > wait) { func.apply(context, args); previous = now; } } } //調(diào)用 元素.onmousemove = throttle(func, 100);
8.從一個(gè)無(wú)序,不相等的數(shù)組中,選取N個(gè)數(shù),使其和為M實(shí)現(xiàn)算法
算法題涼.....我感覺(jué)這道題應(yīng)該和二叉樹(shù)有關(guān)......
9.一個(gè)字典["I", "have", "a", "book", "good"],實(shí)現(xiàn)一個(gè)函數(shù),判斷一個(gè)字符串中是否都是出自字典中的,輸出true/false
算法題涼.....
笨方法:
var arr = ["I", "have", "a", "book", "good"] var str = "I have a book" function test(str,arr) { return arr.filter(v => str.indexOf(v) !== -1).length === str.split(" ").length }
10.一個(gè)長(zhǎng)階梯有n級(jí),可以一次走1級(jí),一次走2級(jí),一共有多少種走法?
function test (n) { if (n === 1) return 1 if (n === 2) return 2 return test(n - 1) + test(n - 2) }
用笨方法做的....先寫(xiě)出來(lái)n為1,2,3,4,5時(shí)的走法,看出是用遞歸
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/101335.html
摘要:系列題集系列題集系列題集系列題集系列題集系列題集系列題集隨手記幾個(gè)題目先,權(quán)當(dāng)草稿,如果有朋友幫忙分析下原因,不勝感激,哈哈以前的文章地址是這樣的格式,現(xiàn)在變了 從畢業(yè)開(kāi)始切圖接觸前端,慢慢轉(zhuǎn)向javascript開(kāi)發(fā)...但是,感覺(jué)自己的javascript難當(dāng)大任,基礎(chǔ)薄弱。網(wǎng)上面試題集很多,設(shè)計(jì)HTML/CSS/JS,但其中的問(wèn)題,如果不是自己親歷,沒(méi)有被難住,是不會(huì)有太深印象的...
摘要:原文鏈接恰當(dāng)?shù)貙W(xué)習(xí)適合第一次編程和非的程序員持續(xù)時(shí)間到周前提無(wú)需編程經(jīng)驗(yàn)繼續(xù)下面的課程。如果你沒(méi)有足夠的時(shí)間在周內(nèi)完成全部的章節(jié),學(xué)習(xí)時(shí)間盡力不要超過(guò)周。你還不是一個(gè)絕地武士,必須持續(xù)使用你最新學(xué)到的知識(shí)和技能,盡可能地經(jīng)常持續(xù)學(xué)習(xí)和提高。 原文鏈接:How to Learn JavaScript Properly 恰當(dāng)?shù)貙W(xué)習(xí) JavaScript (適合第一次編程和非 JavaSc...
摘要:全局對(duì)象是比較特殊的對(duì)象。對(duì)象類型包括普通對(duì)象命名值的無(wú)序集合,特殊對(duì)象數(shù)組帶編號(hào)值的有序集合,函數(shù)。基本數(shù)據(jù)類型是按值訪問(wèn)的,因?yàn)榭梢圆僮鞅4嬖谧兞恐械膶?shí)際值。不允許直接訪問(wèn)內(nèi)存中的位置,也就是說(shuō)不能直接操作對(duì)象的內(nèi)存空間。 題目 javascript的數(shù)據(jù)類型分為兩類: 原始類型 和對(duì)象類型(又基本類型和引用類型) 原始類型包括:String, Boolean,...
摘要:知道了這些知識(shí)看看上面的題目為什么結(jié)果是包裝對(duì)象存取字符串,數(shù)字,布爾值的屬性時(shí)創(chuàng)建用構(gòu)造函數(shù)來(lái)創(chuàng)建的臨時(shí)對(duì)象稱作包裝對(duì)象。 來(lái)自網(wǎng)絡(luò) var s=test;//創(chuàng)建字符串類型變量 s.len=4;//創(chuàng)建包裝對(duì)象,為包裝對(duì)象添加屬性len //引用完畢,銷毀包裝對(duì)象 console.log(s.len);//創(chuàng)建包裝對(duì)象,查找其len屬性,沒(méi)有找到,返回undefined ...
var foo = 1; function bar() { foo = 10; return; function foo() {}//聲明提前 } bar(); console.log(foo); //為什么是1而不是10 http://segmentfault.com/q/1010000000598752
function bar() { return foo; foo = 10; function foo() {} var foo = 11; } console.log(typeof bar());//function 為什么不是number
閱讀 3588·2019-08-30 15:55
閱讀 1383·2019-08-29 16:20
閱讀 3668·2019-08-29 12:42
閱讀 2671·2019-08-26 10:35
閱讀 1022·2019-08-26 10:23
閱讀 3419·2019-08-23 18:32
閱讀 907·2019-08-23 18:32
閱讀 2902·2019-08-23 14:55