当前位置: 首页 > Web前端 > HTML5

前端面试题·选题(持续更新中)

时间:2023-04-05 00:49:44 HTML5

2019.04.23知道下面的代码,如何修改让图片宽度为300px?注意以下代码不可修改解决方法:css3缩放:transform(scale(0.625,0.625));js:document.getElementsByTagName("img")[0].setAttribute("style","width:300px!important;")css:max-width:300px;(当时没想到这个。。。)css:box-sizing:border-box;填充-左:90px;填充右:90px;(当时没想到这个。。。)2019.03.22Promise构造函数是同步执行还是异步执行,那么then方法呢?这个很明显,promise构造函数是同步执行的,then方法是异步执行的。我从答案中选择了一个稍微复杂一点的例子:constpromise=newPromise((resolve,reject)=>{console.log(1);resolve(5);console.log(2);}).then(val=>{console.log(val);});promise.then(()=>{console.log(3);});console.log(4);setTimeout(function(){console.log(6);});//Executionresult:124536这会涉及到一个macrotasks和microtasks的执行顺序的问题,进而导致javascript的事件循环(EventLoop)。顶层干货:这一次,吃透JavaScript执行机制,阮一峰详解JavaScript运行机制:再来说说EventLoop。Thismacrotaskisalreadyrunning),thenexecutethemicrotask,clearthemicrotaskqueue,然后执行macrotask,然后执行microtask,clearmicrotaskqueue...观察(此方法已弃用)宏任务macrotask(task):setTimout/script/IO/UIRendering2019.01.22['1','2','3'].map(parseInt)什么&为什么?答案:1、NaN,NaN的变形题:letunary=fn=>val=>fn(val)letparse=unary(parseInt)console.log(['1.1','2','0.3'].map(parse))答案:1.1,NaN,0解析:parseInt定义和用法parseInt()函数解析一个字符串并返回一个整数。语法parseInt(string,radix)需要的参数描述字符串。待解析字符串只转换为有效数字,小数点无效。基数是可选的。指示要解析的数字的基数。取值在2到36之间,如果省略该参数或值为0,则以10为底进行解析。如果以“0x”或“0X”开头,则以16为底。如果参数小于2或大于36,parseInt()将返回NaN。array.map((e,index,arr)=>{})更常用。第一个参数是元素,第二个参数是索引,第三个参数是当前遍历的数组。答案就在眼前:parseInt('2',1)如果1不在2和36之间,则返回NaN。parseInt('3',2)3不是有效的二进制数,返回NaN。试试看:['10','10','10','10','10'].map(parseInt);//[10,NaN,2,3,4]