1.写出下列输出: (1)var 0 += ' 3',输出: 3 (2)var a = 0 + '3',输出: 3
正确答案:(1)0 3,(2)03
解析:被一个普遍的说法给误导了,字符串在进行运算时,会自动的转化为数字。减、乘、除会转,但是加不会,加是进行字符的拼接
3. 本地存储
cookie:比较古老的本地存储方式,储存小,只有4k,而且cookie值会发送给服务器,浪费宽带
localstorage和sessionstorage
好处:缓存数据,减少宽带浪费。
缺点:只能存储字符串,如果存储的是对象或者数组需要转化。例子如下:
var person = {name:”vanida”,”sex”:”girl”,”age”:25};
localStorage.setItem(“person”,JSON.stringify(person));
// localStorage.person=”{“name”:”vanida”,”sex”:”girl”,”age”:25}”
注意:JSON.stringify()中不要忘了“i”,stringify而不是stringfy!
然后取出person的对象你可以用JSON.parse();
person = JSON.parse(localStorage.getItem(“person”));
localstorage存储特点:永久性存储,除非手动清除
sessionStorage存储特点:会话式存储,刷新或者关闭页面,数据就会被清除掉
4. 扁平化多维数组
一个多维数组,转化为单个数组,忘了之前在哪里看到的,使用for循环可以,但是实际写的时候,for循环实现不了,用递归实现:
flatArray (oldArray) {
for(let i = 0; i
if(typeof oldArray[i] === 'object') {
this.flatArray(oldArray[i])
} else {
console.log(oldArray[i])
this.newArray.push(oldArray[i])
}
}
}
5. JS都有哪些数据类型
Undefine、NULL 、数值、字符串、Symbol、 Boolean、函数对象、数组对象、其它任何对象
6.用过哪些JS库,这些库有哪些优点
7. ES6数组操作函数有哪些
join() //为数组里面的项添加连接符,默认为逗号
push()和pop()//添加和删除数组末尾一项
shift() 和 unshift()//添加删除数组头部一项
sort()//排序,默认为降序,可以写一个方法控制,compare,如果返回-1,前面的值放在前面
reverse()//翻转数组
concat()//拼接数组
slice()//返回指定范围内的数组,返回值为一个新数组
splice()//插入和删除,返回删除的数组
indexOf()和 lastIndexOf() (ES5新增)//查找指定值的下标,两个函数表示从头和从尾查找
forEach() (ES5新增)//为数组里的每一项添加一个处理函数,无返回值
map() (ES5新增)// 遍历数组,返回函数处理过的数组
filter() (ES5新增)//过滤数组,返回过滤的结果数组
every() (ES5新增)//判断数组里的项是否符合条件,全部符合返回true
some() (ES5新增)//判断数组里的项是否有符合条件的,有的话返回true
reduce()和 reduceRight() (ES5新增)//实现迭代数组的每一项,从头开始
8.左边固定右边自适应布局//实现迭代数组的每一项,从尾开始
html:
<div class="wrap">
<div class="left"></div>
<div class="main"></div>
</div>
CSS:
.left{
with: 100px;
min-height: 100px;
float: left;
}
.main{
margin-left: 100px;
min-height: 100px;
}
10:
网友评论