web前端笔试题——JS
来源:互联网 发布:ubuntu 16.04安装lamp 编辑:程序博客网 时间:2024/05/24 05:59
1.what is the value of foo?
var foo = 10 + '20'; // '1020'
2.How would you make this work?
add(2,5); // 7
add(2)(5); // 7
第一个就没必要解释了,主要是第二个
function add(x){
var sum = x;
var subFun = function (y){
sum += y;
return subFun;//这里之所以要返回subFun是为了更多的链式操作 比如add(2)(5)(3)...
}
return subFun; //执行add(2)将2存储在sum里面并且返回subFun方法供(5)执行。
}
3.What value is returned from the following statement?'i'm a lasagna hog'.split("").reverse().join("");
//注:.split("")里面没有空格 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符(包括空格)之间都会被分割。所以结果是"goh angasal a m'i"
'i'm a lasagna hog'.split(" ").reverse().join(" "); //结果则是'hog lasagna a i'm'
4.var a = [] 和 var a = new Array()性能的区别;(其实就没有区别) 点击打开链接
5.what is the outcome of the tow alerts below?
var foo = "Hello";
(function(){
var bar =" World";
alert(foo+bar); // Hello World
})();
alert(foo + bar); // 报错 bar undefined
6.What is the value of foo.x
?
var foo = {n:1};
var bar = foo;
foo.x = foo = {n:2};
/**
*个人总结这个题主要考了三个重点,一是引用赋值,二是js计算符的优先级,三是赋值表达式结合性
*var foo = {n:1};var bar = foo;所以这两行的结果是对象foo和bar存的都是同一个对象{n:1}的地址,关键在于第三行。由JS运算符的优先级可以看出对象的属性访问
*符'.'在这一行的优先级最高,所以foo.x最先计算,存下的是对{n:1}这个对象的X属性的引用。而由于JS赋值表达式是右结合,所以第三行就相当于是
*foo.x = ( foo = {n:2} ),也就是先进行foo = {n:2}这个赋值,所以此时的foo已经指向了{n:2}这个对象,再执行foo.x = foo,也就相当于给{n:1}这个对象的X属性赋值
*为{n:2},整个过程bar都指向的{n:1}这个对象,所以bar最终结果是{n:1,X:{n:2}},而foo为{n:2}。
**/
7.What dose the following code print?
1️⃣
console.log('one');
setTimeout(function()
{
console.log('two');
},0);
console.log('three'); // one three two
2️⃣
function foo(){
console.log('first');
setTimeout(function(){
console.log('second');
},5);
}
for(var i = 0; i < 1000; i++){
foo();
}
// 结果是全部打印first之后再打印的second。
//其实就是Js的单线程
- web前端笔试题——JS
- Web前端笔试题
- 【笔试】TX——web前端
- 百度web前端笔试题
- web前端笔试题整理
- web前端之笔试题
- Web前端开发笔试题
- 【JS】前端笔试题总结 ?
- 腾讯Web前端(Js)笔试面试之谈
- 百度2013年校园招聘笔试题——WEB前端研发类
- 2018网易校招笔试题——web前端开发
- WEB前端开发笔试题2
- Web前端开发设计笔试题集锦
- 2012 百度web前端笔试题
- web前端开发工程师笔试题
- 接到一个web前端的笔试题
- 2015校招某度WEB前端笔试题
- web前端笔试
- caffe-关于损失的问题
- 曾国藩的一生
- POJ 1251 Jungle Roads 笔记
- 单链表的删除算法时间复杂度O(1)和O(n)
- LINUX中常用操作命令
- web前端笔试题——JS
- POJ 1155 TELE 树形dp
- 【Redis笔记-8】Redis事务及其Java实现
- java文件分割
- JavaScript 模板引擎实现原理解析
- 接下来几天待完成事情(生活小总结)
- 多图片上传,多文件上传。插件diyUpload.js
- 写论文必备LaTeX基础教程
- 9中动画插值器