摘要:實現(xiàn)布局一個垂直居中其距離屏幕左右兩邊各其高度始終是寬度的中有文本其文本水平垂直居中經(jīng)試驗其高度始終是寬度的這個沒有實現(xiàn)函數(shù)中的是數(shù)組嗎類數(shù)組轉(zhuǎn)數(shù)組的方法了解一下類數(shù)組類型比較都不打印打印錯了,知道為什么,但是不知道為啥是在異步代碼執(zhí)行
1. 實現(xiàn)css布局
一個div垂直居中
其距離屏幕左右兩邊各10px
其高度始終是寬度的50%
div中有文本"A"
其font—size:20px
文本水平垂直居中
A
ps: 經(jīng)試驗 其高度始終是寬度的50% 這個沒有實現(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")
打印:
script start
a1 start
a2
a1 end
script end
promise1
promise2
promise2.then
promise3
setTimeout
promise2錯了,知道為什么,但是不知道為啥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 考察閉包
但是好像是錯的....為什么改成let會中間出現(xiàn)undefined.....
改成let后:
01234undefined01234
6.手寫bind實現(xiàn)
Function.prototype.bind2 = function (context) { var self = this; // 獲得bind的參數(shù)從第二個參數(shù)到最后一個參數(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.看這個圖,我的理解是,持續(xù)觸發(fā)事件,每隔一段時間,只執(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.從一個無序,不相等的數(shù)組中,選取N個數(shù),使其和為M實現(xiàn)算法
算法題涼.....我感覺這道題應(yīng)該和二叉樹有關(guān)......
9.一個字典["I", "have", "a", "book", "good"],實現(xiàn)一個函數(shù),判斷一個字符串中是否都是出自字典中的,輸出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.一個長階梯有n級,可以一次走1級,一次走2級,一共有多少種走法?
function test (n) { if (n === 1) return 1 if (n === 2) return 2 return test(n - 1) + test(n - 2) }
用笨方法做的....先寫出來n為1,2,3,4,5時的走法,看出是用遞歸
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/101335.html
摘要:系列題集系列題集系列題集系列題集系列題集系列題集系列題集隨手記幾個題目先,權(quán)當(dāng)草稿,如果有朋友幫忙分析下原因,不勝感激,哈哈以前的文章地址是這樣的格式,現(xiàn)在變了 從畢業(yè)開始切圖接觸前端,慢慢轉(zhuǎn)向javascript開發(fā)...但是,感覺自己的javascript難當(dāng)大任,基礎(chǔ)薄弱。網(wǎng)上面試題集很多,設(shè)計HTML/CSS/JS,但其中的問題,如果不是自己親歷,沒有被難住,是不會有太深印象的...
摘要:原文鏈接恰當(dāng)?shù)貙W(xué)習(xí)適合第一次編程和非的程序員持續(xù)時間到周前提無需編程經(jīng)驗繼續(xù)下面的課程。如果你沒有足夠的時間在周內(nèi)完成全部的章節(jié),學(xué)習(xí)時間盡力不要超過周。你還不是一個絕地武士,必須持續(xù)使用你最新學(xué)到的知識和技能,盡可能地經(jīng)常持續(xù)學(xué)習(xí)和提高。 原文鏈接:How to Learn JavaScript Properly 恰當(dāng)?shù)貙W(xué)習(xí) JavaScript (適合第一次編程和非 JavaSc...
摘要:全局對象是比較特殊的對象。對象類型包括普通對象命名值的無序集合,特殊對象數(shù)組帶編號值的有序集合,函數(shù)?;緮?shù)據(jù)類型是按值訪問的,因為可以操作保存在變量中的實際值。不允許直接訪問內(nèi)存中的位置,也就是說不能直接操作對象的內(nèi)存空間。 題目 javascript的數(shù)據(jù)類型分為兩類: 原始類型 和對象類型(又基本類型和引用類型) 原始類型包括:String, Boolean,...
摘要:知道了這些知識看看上面的題目為什么結(jié)果是包裝對象存取字符串,數(shù)字,布爾值的屬性時創(chuàng)建用構(gòu)造函數(shù)來創(chuàng)建的臨時對象稱作包裝對象。 來自網(wǎng)絡(luò) var s=test;//創(chuàng)建字符串類型變量 s.len=4;//創(chuàng)建包裝對象,為包裝對象添加屬性len //引用完畢,銷毀包裝對象 console.log(s.len);//創(chuàng)建包裝對象,查找其len屬性,沒有找到,返回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
閱讀 3629·2019-08-30 15:55
閱讀 1421·2019-08-29 16:20
閱讀 3726·2019-08-29 12:42
閱讀 2716·2019-08-26 10:35
閱讀 1120·2019-08-26 10:23
閱讀 3473·2019-08-23 18:32
閱讀 985·2019-08-23 18:32
閱讀 2978·2019-08-23 14:55