@wy
2017-02-17T10:23:17.000000Z
字数 1276
阅读 491
面试题
1.
if (!("a" in window)) {
var a = 1;
}
alert(a);
2.
var a = 1,
b = function a(x) {
x && a(--x);
};
alert(a);
3.
function a(x) {
return x * 2;
}
var a;
alert(a);
4.
function b(x, y, a) {
arguments[2] = 10;
alert(a);
}
b(1, 2, 3);
5.
function a() {
alert(this);
}
a.call(null);
参考地址:
http://dmitry.baranovskiy.com/post/91403200
function Foo() {
getName = function () { alert (1); };
return this;
}
Foo.getName = function () { alert (2);};
Foo.prototype.getName = function () { alert (3);};
var getName = function () { alert (4);};
function getName() { alert (5);}
//请写出以下输出结果:
Foo.getName();
getName();
Foo().getName();
getName();
new Foo.getName();
new Foo().getName();
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() 的含义和区别?