1、请描述cookie,sesstionStorage,localStorage三者之间的区别
2、判断以下js代码是否正确,并描述原因
A "undefined" == undefined
B "8889" == 8889
A的结果是False,‘undefined‘是已经声明的一个字符串,所以与undefined相比结果为False;B的结果是true,在字符串和数字比较时,会将字符串转换为数字再进行比较。
3、请问以下代码最终输出结果是什么
(function () {
var a = b = 345;
})();
console.log(b);
console.log(typeof(a));
输出结果345,undefined,a是通过var
关键字进行生命,属于函数内部的局部作用域,而b被分配到全局作用域,所以在后边可以访问到b的值。
如果在函数内部使用了严格模式的话,代码会在输出b的时候报错Uncaught ReferenceError: b is not defined
4、请用javascript将字符串"http://www.alipay.com?orderid=933&ordername=iPhone6s一部”
进行编码和解码;并取出此字符‘?’左右的两个子字符串;之后将原字符串中的"www.alipay.com"
存入到一个变量里面
使用encodeURI()
和decodeURI()
对url进行编码和解码,取出‘?‘左右两个子字符串可以使用str.split(‘?‘)
5、请阅读以下代码并分别写出param,temp1,temp2三个对象的属性值
var param={ Idx : 1, Name : ‘wawayaya‘, Gender : ‘男‘ };
var temp1 = param;
var temp2 = { };
temp2 = param;
temp1.Name=‘joyreader‘;
delete temp2.Gender;
对象temp1和temp2直接使用对象复制,三个对象都指向同一个地址,当一个对象改变时,地址中对象的值也会改变,导致另外两个输出相同的结果。
6、请将javascript对象account,存储到sessionStorage中,并将account对象从sessionStorage中取出,取出之后打印出account对象的所有属性,var account = {Idx:1,Name:‘JoyReader‘};
sessionStorage.setItem(‘key‘, account);
JSON.parse(window.sessionStorage.getItem(‘key‘));
7、
// 请描述以下代码存在的问题,并给出优化方案
var divs = document.getElementsByTagName(“div”);
for(var i=0;i<divs.length;i++){
document.body.appendChild(document.createElement(“div”));
}
这个应该是作用域的问题,将for循环中的var
声明换成let
或者包裹在一个 立即执行函数里。
8、现有一个网页要求以设备宽度进行呈现,并且此网页不允许用户缩放,当设备宽度在320px至480px之间时body元素的背景颜色为#d0d0d0,请写出相关代码。
页面禁止缩放使用meta标签:<meta name=‘viewport‘ content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"
获取设备宽度使用window.screen.width
9、现有这样的数据 var data = [{Idx:2,Name:‘Qiuguoheng‘},{Idx:3,Name:‘Liyanhong‘},{Idx:4,Name:‘Mayun‘},....]
此数组的长度为1000,请遍历此数组,将结果添加至形如下面的表格中,要求“禁用”链接上要有Idx的属性值
<table id=“data-tb”>
<tr><th>Idx</th><th>Name</th><th>操作</th>
</table>
创建一个DocumentFragment,将所有的数据添加到里边,最后将DocumentFragment渲染到页面上,只需要操作一次DOM
10、写出一些优化网页加载速度的方案或建议
图片懒加载、预加载;使用CDN;将JS放在文件底部,CSS放在文件顶部;压缩JS和CSS文件;http缓存;按需加载等
做完以后百度答案,感觉自己又凉了。我又凉了,我骄傲了吗。
另一家公司,视频面试,对面戴着口罩倒是很好说话的样子。
问题大概有下面这些:
为什么选择使用React
数组遍历的区别(for
、for...in
、for...of
、forEach
、Map
)
使用Symbol.iterator可以为对象添加可迭代属性,使用
for...of
进行迭代
使用过哪些antd组件,有什么问题
三个div怎么显示在一行(弹性布局flex-wrap: nowrap
)
在项目里有没有做过按需加载,懒加载
有没有了解过今年的React库(没有。。。)
useEffect钩子函数(第二个参数,依赖数组,当依赖数组发生改变时调用函数)
let
、const
、var
有什么区别
跨域问题
原文:https://www.cnblogs.com/bzsheng/p/13227543.html