一、html5的新特性?
答:新的语义化标签,新的表单控件,canvas和svg,video和audio,本地存储。
二、数组有哪些操作方式?
var arr=[2,3,11,29,7,44,64,38];
arr.sort(); //[11,2,29,3,38,44,64,7]
function maxNumber(a,b){ return a-b};
arr.sort(maxNumber); //[2,3,7,11,29,38,44,64];
arr.unshift(0);//表示头部插入一项 值为0,
console.log(arr);//[0,2,3,7,11,29,38,44,64];
arr.reverse();//置反数组;
console.log(arr);//[64,44,38,29,11,7,3,2,0];
arr.shift();//头部删除,此时会删除64
console.log(arr);//[44,38,29,11,7,3,2,0];
arr.pop();//会删除末尾的最后一项 0
console.log(arr);//[44,38,29,11,7,3,2];
arr.push(1);//会在末尾推入一个 1
console.log(arr);//[44,38,29,11,7,3,2,1]
问题:要转换成 44-38-29-11-7-3-2-1 这样的字符串,就要用到join()广场了
//arr.join(); arr结果是:"44,38,29,11,7,3,2,1";
var str=arr.join("-");
console.log(str);//结果是"44-38-29-11-7-3-2-1";
问题:字符串怎么转换成数组?split()方法来搞定
str.split("-");//就会以-做分割数组,如果split()没有任何参数,就会转成单项的一个数组["44-38-29-11-7-3-2-1"];而有了split("-")
typeof()检测数组;instanceof()判断是否是数组;sort()排序数组,按字符串来比较,先比较第1位,第1位相同比较第2位依次下去;sort()里面可以传入一个函数参数,使得数组按数字大小排序;reverse()置反数组;unshift() 数组头部插入;shift()数组头部删除;pop()数组尾部删除;push()数组尾部插入;split()字符串转数组;join()数组转字符串;concat()合并数组;indexOf()判断是否包含一个指定值,是则返回所在下标,否返回-1; includes()判断是否包含一个指定值,是否返回true,否返回false
三、JS创建对象的方式?
答:
1、字面量的方式
const obj={
name:"张三",
age:12
}
2、构造函数的方式
const obj=new Object(); //特别要注意的是Object开头的O是大写。
obj.name="张三";
obj.age=12;
四、CSS3实现位移
transform:translate(100px,200px);//即可实现位移
五、垂直居中的方式
答:元素内的文本的垂直居中方式是设置line-height等于元素的高度;盒子内的盒子要垂直居中的方式是 父盒子设置相对定位;子盒子设置绝对定位,然后设置top为50%,margin-top为负高度的一半;
六、数组转为JSON
答:JSON.parse()可以把JSON转为常用的数据格式,JSON.stringify()可以把JS常用的数据类型转为JSON;
var arr=[1,2,3,3,5];
const arr2=JSON.stringify(arr);
console.log(typeof(arr2)); //string
七、用原生的JS实现过哪些功能,如何实现的?