20170913记录css
<div class="demo" style="width: 100px;height: 100px"></div> // 方法1: 绝对定位1 // 方法2: 绝对定位2 // 方法3: flex // 方法4: css3 transform transalte
display在文档流中没有,visibility在文档流占据空间但不显示(隐形) 1. 是否继承 display不继承 2. 是否占据空间 display不占据空间 3. 页面属性更改是否从新渲染 display从新渲染
<ul id="ul"> <li>内容1<li> <li>内容2<li> <li>内容3<li> <li>内容4<li> ... <li>内容1000</li> </ul> // 方法1:闭包 var lists = document.querySelectorAll("#ul li"); for (var i = 0; i < lists.length; i++) { (function(i) { console.log(lists[i]); lists[i].onclick = function () { alert(this.innerHTML); } })(i) } // 方法2:jquery on事件代理 var lists = document.getElementById("ul").children; for (var i = 0; i < lists.length; i++) { (function(i) { console.log(lists[i]); lists[i].addEventListener('click', function (e) { alert(e.target.innerHTML); }, false); // 布尔值是否捕获 })(i) }
原理:利用事件冒泡和事件源(target)前端
事件执行过程:vue
delegate() 为指定元素(被选中元素的子元素)添加一个或多个事件处理程序jquery
on() jquery中的事件绑定都是基于on方法的,因此那些方法均可以使用on方法来代替的css3
// 1.默认状况 格式'YYYY-MM-DD HH:MM:SS' function dateFormat (time, format) { // 2.默认格式转换机制 var formatValue = format || 'YYYY-MM-DD HH:MM:SS' // 默认值设置 var dateValue = new Date(time); return formatObj[formatValue](dateValue) } // 3.将格式统一转换成00 function fixed2 (str) { return str < 10 ? '0' + str : str } // 4.考虑全部格式状况的组合 根据题目要求只有四种组合状况 var formatObj = { 'YYYY-MM-DD HH:MM:SS': function (date) { var Y, M, D, h, m, s, last; Y = date.getFullYear() + '-'; M = fixed2(date.getMonth() + 1) + '-'; D = fixed2(date.getDate()) + ' '; h = fixed2(date.getHours()) + ':'; m = fixed2(date.getMinutes()) + ':'; s = fixed2(date.getSeconds()); last = Y + M + D + h + m + s; return last; }, 'YYYY-MM-DD HH:MM': function (date) { var Y, M, D, h, m, last; Y = date.getFullYear() + '-'; M = fixed2(date.getMonth() + 1) + '-'; D = fixed2(date.getDate()) + ' '; h = fixed2(date.getHours()) + ':'; m = fixed2(date.getMinutes()); last = Y + M + D + h + m; return last; }, 'YYYY-MM HH:MM:SS': function (date) { var Y, M, h, m, s, last; Y = date.getFullYear() + '-'; M = fixed2(date.getMonth() + 1) + ' '; h = fixed2(date.getHours()) + ':'; m = fixed2(date.getMinutes()) + ':'; s = fixed2(date.getSeconds()); last = Y + M + h + m + s; return last; }, 'YYYY-MM HH:MM': function (date) { var Y, M, D, h, m, s, last; Y = date.getFullYear() + '-'; M = fixed2(date.getMonth() + 1) + ' '; h = fixed2(date.getHours()) + ':'; m = fixed2(date.getMinutes()); last = Y + M + h + m; return last; } } dateFormat(1350052653, 'YYYY-MM-DD HH:MM') // 1970-01-16 23:00:52 dateFormat(1350052653, 'YYYY-MM-DD HH:MM') // 1970-01-16 23:00 dateFormat(1350052653, 'YYYY-MM HH:MM:SS') // 1970-01 23:00:52 dateFormat(1350052653, 'YYYY-MM HH:MM') // 1970-01 23:00
function result (a, b, c) { arguments[1] = c; return b; } alert(result(1, 2, 3)); // 3 alert(result(daydao)); // undefined var daydao = "理才网";
agrguments是一个相似数组的对象,对应于传递给函数的参数面试
参数也能够被设置:arguments[1] = 'new value'segmentfault
https://segmentfault.com/q/10... 参考数组
解题思路: - 切割字符串为数组 - 遍历产生字典 - 根据出现次数排序 - 输出出现次数最多的字符数组 function analysisString (str) { var str = str || '', arr = str.split(''),// 1.分割字符串为数组 numMap = {}, // 记录全部字符的出现频次 mostArray = []; // 记录全部出现次数最多的字符,保存在数组中 // 2.遍历全部字符字典 arr.forEach(function (item) { // 记录全部字符的出现频次,保存在对象中 // 记录全部出现次数最多的字符, 保存在数组中 numMap.increase(item); mostArray.add(item); }); // 3.根据出现次数进行数组排序 mostArray = mostArray.sort(function (a, b) { return numMap[b] - numMap[a]; // 从大到小排序 }).filter(function (item, i) { // 过滤,当当前次数等于最大次数时添加在mostArray数组里 if (numMap[item] === numMap[mostArray[0]]) { return item; } }); // 4.返回出现字符次数最多的数组和最屡次数 return { mostArray: mostArray, freqNum: numMap[mostArray[0]] }; } Object.prototype.increase = function (key) { var self = this, val = self[key]*1 || 0; self[key] = val + 1; return self; }; Array.prototype.add = function (item) { var self = this; if (self.indexOf(item) < 0) { // 数组中没有这个字符 self.push(item); } return self; }; console.log(analysisString('hayleyliuhui'));
如下分别表明什么意思 + * ? *? {} [] () var str = '<div>理才网<sapn>上线成功</span>!</div>'; var reg = /<[/a-z]+>/; <!--reg.exec(str);--> <!--reg.test(str);--> <!--str.match(reg);--> <!--str.search(reg);--> <!--str.replace(reg);--> str.split(reg).join(''); // ["", "理才网", "上线成功", "!", ""] str.join(''); // 理才网上线成功!
基本上问的问题都回答出来了,考察知识点主要是css布局、js事件代理、js函数、jquery、多个事件同步处理、css动画、vue闭包
感觉:函数
作的好:
不足:
继续准备: