前端经典题型总结

本文总结了前端面试中常见的知识点,包括作用域、this指向、闭包、数据类型、Ajax事件、JavaScript特性、jQuery选择器、对象继承、浏览器历史记录管理、数组方法、JavaScript引擎的精度限制以及多tab通信等,帮助开发者巩固前端基础并准备面试。
摘要由CSDN通过智能技术生成

1、

var a = 100;
function fn() {
    alert(a);
    var a = 200;
    alert(a);
}
fn();//undefined 200
alert(a);//100
var a;//没有求改window.a的值
alert(a);//100
var a = 300;
alert(a);//300

考点1scope作用域,var定义的变量提前在器作用域的最顶端进行声明,函数中的第一处调用输出的是undefined.

 

2、

var obj1 = {name: 'obj1', fn: function() {
    document.write(this.name);
}};
var obj2 = {name: 'obj2'};
var obj3 = {name: 'obj3'};
obj1.fn();//this指向obj1  àobj1
var newFn = obj1.fn;//newFn为一个普通方法
newFn();//window下的方法,this指向window,->””
newFn.call(obj2);//利用call使this指向obj2,->obj2
obj3.fn = newFn;
obj3.fn();//this指向obj3 –>obj3

考点:this的指向this总是指向调用该方法的对象(普通变量和方法均是挂在window上的,在非严格模式下)。在非严格模式下this默认指向是window ,在window上如果调用没有定义的属性则会返回””;普通对象下引用没有过定义的对象则返回值是undefined,在引用的时候进行声明但没有初始化。引用普通未声明的变量则报错。

 

 

3

var obj = {};
obj.log = console.log;
obj.log.call(console,this);

解析:相当于调用的是console.log(this),所以this——》为window

 

4、ajax中的事件有:

ajaxComplete(callback)
ajaxError(callback)
ajaxSend(callback)
ajaxStart(callback)
ajaxStop(callback)
ajaxSuccess(callback)

5、JS中的数据:

基本数据类型:Number,String,Boolean,Undefined,Null

复杂数据类型:Object,Array,Function,RegExp,Date,Error

全局数据类型:Math

 

6void是一元运算符,void 作为运算符后面接的是表达式,void expression。而void(0)也是被当做void 0。如果直接void(),那么我觉得应该是把void当做函数使用了,但是此时void并没有定义。

 

7


输出答案:4400 4401 4399 4400

两个不同对象的闭包是彼此独立的,不互相影响。

var result=test();   //执行test返回{n:4399,add:add};

var result2=test();   //同理

result.add();   //test构成闭包,add作用域链包含test活动对象,所以n++,会调用test活动对象的n累加,得到4400

result.add();  //同理

console.log(result.n);  //这个n不是test活动对象里面的n

result2.add();  //同理,作用域链有test活动对象,但是这个跟result的不是同一个。

 

8、console.log('Value is ' + (val != '0') ? 'define' : 'undefine');

加号的优先级高于三目运算符,答案为:define

 

9

var f=function g(){
return 23;
};
typeof g();

如果是typeof f,结果是function

如果是typeof f(),结果是number

如果是typeof g,结果是undefined.

如果是typeof g(),结果是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值