1.用jquery或者其他前端框架设计钟表的思路;
3.行内元素有哪些? 块级元素有哪些? 空元素有哪些?
行内元素:a b span img button input
块级元素:div ul li p h1~h6
空元素:br hr meta input img
4.页面导入样式时,使用link和 @import有什么区别?
8.HTML5有哪些新特性,移除了哪些元素? 如何处理HTML5新标签的浏览器兼容问题? 如何区分HTML和HTML5?
9.简述一下你对HTML语义化的理解;
4.描述ajax请求的过程?
5.GET和POST的区别,何时使用POST?
6.js实现数组去重?
1)哈希去重
2)双层for循环
3)indexOf去重
4)ES6 new Set()
7.写出输出结果,并说明原因?
function fun(n,o){
console.log(o);
return {
fun:function(m){
return fun(m,n);
}
}
}
var a=fun(0); //undefined
a.fun(1); //0
a.fun(2); //0
a.fun(3); //0
var b=fun(0).fun(1).fun(2).fun(3); //undefined 0 1 2
var c=fun(0).fun(1); //undefined 0
c.fun(2); //1
c.fun(3); //1
8.防抖和节流;
防抖:只要不是最后一次触发,就不执行异步请求
节流:只要第一次请求的结果不回来,就不执行第二次请求
小案例说明:
body{
height: 125rem;
}
#btn{
position: fixed;
bottom: 6.25rem;
right: 0;
}
//节流
//声明开关变量
var canClick=true;
btn.onclick=function(){
//只有当可以点击的时候才可以进行下一步
if(canClick){
//进来之后先把开关变量改为false
canClick=false;
console.log(`发送ajax请求`)
//设置定时器,
setTimeout(function() {
console.log(`加载完成`)
//3s后再把开关改为true
canClick=true;
}, 3000);
}
}
//防抖
var timer;
window.onscroll=function(){
if(timer !==undefined){
clearTimeout(timer)
}
timer=setTimeout(function() {
console.log(`发送ajax请求`)
}, 200);
}
9.MVVM
MVVM:将旧的前端代码进行重新划分,划分为
界面(view) 强大的HTML和CSS 支持变量 分支 循环
数据模型(Model) 保存页面所需要的数据
界面模型(viewModel) 将界面和数据模型进行绑定,保证数据模型与界面显示的一致
10.vue 中的生命周期函数
created
mounted
update
destroy
2019/12/10
1./请用javascript写一段代码,将字符串"asdasdasdfasfs450000dasda"里的数字编号取出来
var str="asdasdasdfasfs450000dasda";
var arr=[];
for(var i=0;i<str.length;i++){
//原理:利用NaN不等于自身拿到数字
if(Number(str[i]) ==Number(str[i])){
arr.push(str[i]);
//console.log(str[i]);
}
}
//这一块进行数组字符串转换
var str1=arr.join("");
console.log(str1)
2.请用原生javascript代码将数组arr=[23,54,654,23,23,89,45,56,43,11]进行去重操作
//indexOf去重
var arr=[23,54,654,23,23,89,45,56,43,11];
var array=[];
for(var i=0;i<arr.length;i++){
if(array.indexOf(arr[i]) ===-1){
array.push(arr[i]);
}
}
//for循环去重
var arr=[23,54,654,23,23,89,45,56,43,11];
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i] ===arr[j]){
arr.splice(j,1);
j--;
}
}
}