[关闭]
@wy 2017-02-17T10:23:17.000000Z 字数 1276 阅读 491

面试题

面试题


1.

  1. if (!("a" in window)) {
  2. var a = 1;
  3. }
  4. alert(a);

2.

  1. var a = 1,
  2. b = function a(x) {
  3. x && a(--x);
  4. };
  5. alert(a);

3.

  1. function a(x) {
  2. return x * 2;
  3. }
  4. var a;
  5. alert(a);

4.

  1. function b(x, y, a) {
  2. arguments[2] = 10;
  3. alert(a);
  4. }
  5. b(1, 2, 3);

5.

  1. function a() {
  2. alert(this);
  3. }
  4. a.call(null);

参考地址:
http://dmitry.baranovskiy.com/post/91403200

  1. 找出数字数组中最大的元素(使用Match.max函数)
  2. 转化一个数字数组为function数组(每个function都弹出相应的数字)
  3. 给object数组进行排序(排序条件是每个元素对象的属性个数)
  1. function Foo() {
  2. getName = function () { alert (1); };
  3. return this;
  4. }
  5. Foo.getName = function () { alert (2);};
  6. Foo.prototype.getName = function () { alert (3);};
  7. var getName = function () { alert (4);};
  8. function getName() { alert (5);}
  9. //请写出以下输出结果:
  10. Foo.getName();
  11. getName();
  12. Foo().getName();
  13. getName();
  14. new Foo.getName();
  15. new Foo().getName();
  16. new new Foo().getName();

什么是事件流?
事件流描述了页面中接收事件的顺序。

new运算符在调用一个函数后具体做了那些事情?

内置对象和宿主对象
内置对象:由Es实现提供,不依赖于宿主环境的对象,这些对象在es程序执行之前就已经存在了。
其中Array,String,Boolean,Number,Function,Object,Error,Image等等;
有两个单体内置对象:Math,global
全局的属性和方法都是global的属性和方法,但是global是不存在的,所以访问全局属性和方法都可以通过window对象。例如:parseInt,isNaN

宿主对象
程序运行的环境提供的对象,例如DOM和BOM中的对象。
window,document

this对象的理解?

JavaScript的作用域和作用域链?

JavaScript的作用域指的是变量的作用范围,内部作用域由函数的形参,实参,局部变量,函数构成,内部作用域和外部的作用域一层层的链接起来形成作用域链,当在在函数内部要访问一个变量的时候,首先查找自己的内部作用域有没有这个变量,就到该作用域所在的作用域中找,直到到window所在的作用域,每个函数在声明的时候就默认有一个外部作用域的存在了。

null,undefined的区别?

Javascript中,有一个函数,执行时对象查找时,永远不会去查找原型,这个函数是?

.call() 和 .apply() 的含义和区别?

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注