前端面试题 js篇
来源:互联网 发布:备份数据库怎么还原 编辑:程序博客网 时间:2024/06/06 12:56
更多面试题请狠狠的点击 下载
1.问:js中"1"+2+"3"+4 运算结果是?
答:1234
js中,字符串和数值相加,得到的还是字符串,这里的结果1234也是字符串。
2.问:4+3+2+"1" 运算结果是?
答:91 (从左至右的运算,前面是数值相加得到9,再和字符串相加得到91字符串。)
3.问:以下代码中,结果是?
var foo = 1;function bar() { foo = 10; return; function foo() {}}bar();alert(foo);
答:将输出1. (这里访问的是window.foo,而不是bar里面的foo)
4.问:以下代码中,结果是?
function bar() { return foo; foo = 10; function foo() {} var foo = 11;}alert(typeof bar());
答:将输出function.(var foo = 11 虽然定义放在后面,但是变量会提升,所以最后的结果是function)
5.问:以下代码中,结果是?
var x = 3;var foo = { x: 2, baz: { x: 1, bar: function() { return this.x; } }}var go = foo.baz.bar;alert(go()); alert(foo.baz.bar());
答:3,1.
go = foo.baz.bar; go()此时this指向的是widow. window.x的值是3;foo.baz.bar()此时this指向的是baz,baz.x的值是1.
6.问:以下代码中,结果是?
var x = 4, obj = { x: 3, bar: function() { var x = 2; setTimeout(function() { var x = 1; alert(this.x); }, 1000); } };obj.bar();
答:输出4.
setTimeout方法是挂在window对象下的。setTimeout(匿名函数,time),这里的匿名函数形成了一个闭包,从而能访问到外层函数的局部变量。也就是window中的x。(参考)
7.问:以下代码中,结果是?
x = 1;function bar() { this.x = 2; return x;}var foo = new bar();alert(foo.x);
答:输出2.
这里的this指向的是bar的对象实例。
8.问:以下代码中,结果是?
function foo(a) { alert(arguments.length);}foo(1, 2, 3);
答:3.
9.问:以下代码中,结果是?
var foo = function bar() {}; alert(typeof bar);
答:undefined
10.问:以下代码中,结果是?
var arr = [];arr[0] = 'a';arr[1] = 'b';arr.foo = 'c';alert(arr.length);
答:2, 输出arr的值是["a", "b"],不是很懂这里的结果。
11.问:以下代码中,结果是?
function foo(a) { arguments[0] = 2; alert(a);}foo(1);
答:2
12.问:以下代码中,结果是?
function foo(){}delete foo.length;alert(typeof foo.length);
答:number;foo.length的值还是0。delete无法删除,参考
13.问:以下代码中,
var name="the window";var object={ name:"my object", getName: function(){ return this.name; } }
通过以下调用
object.getName(); (object.getName)();(object.getName = object.getName)()
结果是?
答:
第一行的代码,this指向的就是object,所以毫无疑问;第二行代码虽然加上括号,就好像只是在引用一个函数,但this的值得到了维持。因为object.getName和(object.getName)的定义相同。第三行代码,先执行一条赋值语句,然后再调用赋值后的结果。因为这个赋值表达式的值是函数本身,所以this的值不能得到维持,结果就返回the window.
- 前端面试题 js篇
- 前端 js 面试题
- 前端面试题总结--1 JS篇
- 前端经典面试题---JS篇
- 整理出来前端面试题 js篇
- 前端常见面试题【JS】
- Js前端面试题总结
- 前端开发面试题整理(JS篇)
- 前端面试题汇总——js篇
- 前端开发面试题整理(JS篇)
- 前端开发面试题整理(JS篇)
- 【15】前端开发--面试题整理(JS篇)
- 3-js面试题(前端面试题带答案)
- 腾讯的JS前端面试题
- 5个前端工程师js面试题
- 前端面试题js部分小集
- JS前端面试题-总结01
- js前端面试题总结及答案
- LeetCode | 43. Multiply Strings(大整数乘法)
- Opencv学习之角点检测
- (笔记)webpack安装、配置、简单的项目打包、插件介绍
- 名称空间
- au3鼠标拖拽函数MouseClickDrag
- 前端面试题 js篇
- Revit基础之获取元素所有GeometryObject.
- 用node-webkit把web应用打包成桌面应用
- dataTables使用心得
- hibernate 无法查看源码的解决办法
- ASP中类的使用的基础知识(一)
- 计蒜客 蒜头君的随机数,造房子
- 生活多了一些色彩
- CentOS 7.1编译安装PHP7