巨鹿网站建设公司,1核1g可以做几个网站,佛山做网站格,seo技术顾问阿亮以下问题不分先后#xff0c;按照印象深浅排序#xff0c;可能一次记录不完成#xff0c;后面想起来会及时补充#xff0c;如有不对#xff0c;恳请各位围观大佬多多指教#x1f64f;
印象最深的是一道很简单很简单的题目#xff0c;我结束面试之后赶紧代码敲敲发现答错…以下问题不分先后按照印象深浅排序可能一次记录不完成后面想起来会及时补充如有不对恳请各位围观大佬多多指教
印象最深的是一道很简单很简单的题目我结束面试之后赶紧代码敲敲发现答错了我天没怎么复习就面试确实是不会太理想题目是这样子的12-1,最后输出是什么东西我一开始是想到的是字符串拼接12那就是12但是再减去1,我就蒙了我想到了有一个东西叫隐式转换但是具体也没想起来是啥后来瞎回答了一通感觉应该是NaN吧然后。。。就答错了。我通过开发者工具控制台输入正确答案如下图应该这里面首先运算是从左至右字符串1加上数字2确实是拼接变成12接着减去字符串1就是通过隐式转换规则变成nunber类型所以最后结果就是11。 还有一个很简单的问题就是外边距塌陷的问题问题产生原因如下解决方式有好几种1给父级元素添加overflow: hidden;2给父级元素添加border: 1px solid #ccc;3给父级元素或子级元素添加float: left;4给父级元素添加display: inline-block;等等 .f {background-color: aqua;width: 100px;height: 100px;}.s {background-color: blueviolet;width: 30px;height: 30px;margin-top: 20px; //外边距不生效}div classfdiv classs/div/div 面试中还问到了css布局有哪些也是好久没复习了所以就想到了目前项目中用到的百分比布局宽度的值使用百分比来编写通过窗口大小来计算宽度的百分比以及flex布局弹性布局通过displayflex属性把容器元素变成flex容器用来适应不同屏幕大小但是css布局不只有这些我百度也随便查了查还有标准文档流布局也就是从上往下排列从左至右排列块级元素独占一行行内元素和行内块元素紧挨着排列在一行浮动布局通过float属性使元素脱离文档流定位布局子绝父相通过position和top、left、right、bottom来进行布局 问题css伪元素的用法以及具体排序。我一下子就只想起来两个before和after伪元素不只是两个还有first-line 伪元素用于向文本的首行设置特殊样式first-letter 伪元素用于向文本的首字母设置特殊样式before排在内容的前面after排在内容后面的代码以及效果如下 .ha {background-color: antiquewhite;}.ha::before {content: ;display: inline-block;width: 30px;height: 10px;background-color: blueviolet;}.ha::after {content: ;display: inline-block;width: 50px;height: 10px;background-color: brown;}div classha哈哈哈哈哈哈/div 说说DOM和BOM这一块也是没怎么复习到忘了好多现在查查资料也想起来一些。首先JavaScript由ECMAScriptDOM和BOM构成ECMAScript是标准化的脚本程序设计语言用来描述js基本语法及对象DOM是文档对象模型提供可以处理网页内容的方法及接口BOM是浏览器对象模型提供与浏览器交互的方法与接口。 问题for in和for of循环的区别好巧不巧也没答得太对。现在自己敲代码查资料验证一下代码示例如下
scriptvar arr [{id: 1, title: 一生一世, name: 李白},{id: 2, title: 千秋万世, name: 杜甫},{id: 3, title: 三生三世, name: 白居易}]var obj {color: #33ffba, number: 1234}for (const key in arr) {console.log(key, for in 直接输入数组的下标);if (Object.hasOwnProperty.call(arr, key)) {const element arr[key];console.log(element, for in输出数组)}}console.log(-------------------------------------------);for (const item of arr) {const element itemconsole.log(element, for of输出数组);}console.log(-------------------------------------------);for (const key in obj) {if (Object.hasOwnProperty.call(obj, key)) {const element obj[key];console.log(element, fon in输出对象)}}for (const item of obj) { //会报错obj is not iterableconst element itemconsole.log(element, for of输出对象);}
/script for of和for in 都可以用来循环。for of是ES6引入的新特性不能循环普通的对象支持iterable类型的集合包括有Array、Map、Setfor in循环得到的是数组的下标或对象的键for of循环直接得到的是值推荐循环数组时使用for of循环对象是时使用for in。 问题如何在循环中跳过某次循环但是继续执行其他循环。这个问题当时就只想到了break和return都是结束整个循环但是还有一个想不起来是啥了答案一定就是那个结束面试后突然想起来那个单词的中午意思就是继续我天这脑子有点不行啊。示例代码如下 // 跳过嘿嘿不打印var arr [哈哈, 嘿嘿, 呵呵, 嘻嘻]for (let index 0; index arr.length; index) {const element arr[index];if (arr[index] 嘿嘿) {continue}console.log(element, 打印); //除了嘿嘿都打印出来了}console.log(---------------------);for (let index 0; index arr.length; index) {const element arr[index];if (arr[index] 嘿嘿) {break}console.log(element, 打印); //只有哈哈} 先记这么多下次再继续补充