摘要:實現布局一個垂直居中其距離屏幕左右兩邊各其高度始終是寬度的中有文本其文本水平垂直居中經試驗其高度始終是寬度的這個沒有實現函數中的是數組嗎類數組轉數組的方法了解一下類數組類型比較都不打印打印錯了,知道為什么,但是不知道為啥是在異步代碼執行
1. 實現css布局
一個div垂直居中
其距離屏幕左右兩邊各10px
其高度始終是寬度的50%
div中有文本"A"
其font—size:20px
文本水平垂直居中
A
ps: 經試驗 其高度始終是寬度的50% 這個沒有實現
2.函數中的arguments是數組嗎?類數組轉數組的方法了解一下?
arguments類數組
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是在異步代碼執行后打印的
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會中間出現undefined.....
改成let后:
01234undefined01234
6.手寫bind實現
Function.prototype.bind2 = function (context) { var self = this; // 獲得bind的參數從第二個參數到最后一個參數 var args = Array.prototype.slice.call(arguments, 1); var fNOP = function () {}; var fBound = function () { // 指bind返回的函數傳入的參數 var bindArgs = Array.prototype.slice.call(arguments); // new bind返回的函數,this失效,但傳入的參數生效 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.看這個圖,我的理解是,持續觸發事件,每隔一段時間,只執行一次事件,事件節流
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; } } } //調用 元素.onmousemove = throttle(func, 100);
8.從一個無序,不相等的數組中,選取N個數,使其和為M實現算法
算法題涼.....我感覺這道題應該和二叉樹有關......
9.一個字典["I", "have", "a", "book", "good"],實現一個函數,判斷一個字符串中是否都是出自字典中的,輸出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時的走法,看出是用遞歸
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/101335.html
摘要:系列題集系列題集系列題集系列題集系列題集系列題集系列題集隨手記幾個題目先,權當草稿,如果有朋友幫忙分析下原因,不勝感激,哈哈以前的文章地址是這樣的格式,現在變了 從畢業開始切圖接觸前端,慢慢轉向javascript開發...但是,感覺自己的javascript難當大任,基礎薄弱。網上面試題集很多,設計HTML/CSS/JS,但其中的問題,如果不是自己親歷,沒有被難住,是不會有太深印象的...
摘要:原文鏈接恰當地學習適合第一次編程和非的程序員持續時間到周前提無需編程經驗繼續下面的課程。如果你沒有足夠的時間在周內完成全部的章節,學習時間盡力不要超過周。你還不是一個絕地武士,必須持續使用你最新學到的知識和技能,盡可能地經常持續學習和提高。 原文鏈接:How to Learn JavaScript Properly 恰當地學習 JavaScript (適合第一次編程和非 JavaSc...
摘要:全局對象是比較特殊的對象。對象類型包括普通對象命名值的無序集合,特殊對象數組帶編號值的有序集合,函數?;緮祿愋褪前粗翟L問的,因為可以操作保存在變量中的實際值。不允許直接訪問內存中的位置,也就是說不能直接操作對象的內存空間。 題目 javascript的數據類型分為兩類: 原始類型 和對象類型(又基本類型和引用類型) 原始類型包括:String, Boolean,...
摘要:知道了這些知識看看上面的題目為什么結果是包裝對象存取字符串,數字,布爾值的屬性時創建用構造函數來創建的臨時對象稱作包裝對象。 來自網絡 var s=test;//創建字符串類型變量 s.len=4;//創建包裝對象,為包裝對象添加屬性len //引用完畢,銷毀包裝對象 console.log(s.len);//創建包裝對象,查找其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
閱讀 3574·2019-08-30 15:55
閱讀 1373·2019-08-29 16:20
閱讀 3656·2019-08-29 12:42
閱讀 2661·2019-08-26 10:35
閱讀 1010·2019-08-26 10:23
閱讀 3405·2019-08-23 18:32
閱讀 897·2019-08-23 18:32
閱讀 2892·2019-08-23 14:55