1、请写出以下几个alert的值:
var a =100;
function fn(){
alert(a);
var a = 200;
alert(a);
}
fun();
alert(a);
var a;
alert(a)
var a = 300;
alert(a)
2、请写出以下程序的输出
var obj1 = {
name:'obj1' ,
fn:function(){
document.write(this.name)
}};
var obj2 = {name:'obj2'};
var obj3 = {name:'obj3'};
obj1.fn();
var newFn = obj1.fn;
newFn();
newFn.call(obj2);
obj3.fn = newFn;
obj3.fn();
3、一个数组par中存放多个人员信息,每个人员的信息由年龄age和姓名name组成,如{age:2 ,name:'xx'} 请写一段js程序,对这个数组按年龄从小到大进行排序。
4、有字符串var str = 'abc345efgabcab',请写出3条js语句分别实现如下3个功能:
1)、去掉字符串中的a、b、c字符,形成结果:‘345efg’
2)、将字符中的数字用中括号括起来,形成结果:‘abc[3][4][5]efgabcab’
3)、将字符串中的每个数字乘以2,形成结果:‘abc6810efgabcab’
5、请写一段js程序,定义一个列表类List,改类包括两个成员:属性length(表示列表中的元素个数)和方法add(向列表添加元素),其中要求构造函数和add方法的参数为动态参数。
6、请问以下js程序有什么问题?应该如何优化?
function setStyle(element){
element.stype.fontWeight = 'bold';
element.stype.color = '#000000'
}
7、请写出一个正则表达式:
1)匹配一个全部是数字的字符串
2)提取出一个url所使用的协议类型http、ftp等和host名称
8、请使用闭包的方式,写一段js程序实现如下功能:函数每调用一次则改函数的返回值加1(注:要求使用es6新技术)
9、请写出下面js程序中几个document.write的结果:
function Parent(){
this.a = 1;
this.b = [1,2,this.a];
this.c = {dome:5};
this.show = function(){
document.write(this.a+''+this.c.demo+':'+this.b+'<br>')
}
}
function Child(){
this.a = 2;
this.change = function(){
this.a= this.b.length;
this.c.demo = this.a++;
}
}
Child.prototype = new Parent();
var parent = new Parent();
var child1 = new Child();
var child2 = new Child();
child1.a = 11;
child2.a = 12;
parent.show();
child1.show();
child2.show();
child1.change();
child2.change();
parent.show();
child1.show();
child2.show();
10、请简述对MVC的理解,并列举一些MVC架构的js框架。
11、请用js程序实现二分查找算法。
12、有这样一个URL:http://vip.qq.com/a.php?a=1&b=2&c=&d=xxx&e,请写一段JS程序提取URL的各个GET参数(参数名和参数个数不确定),将其按key-value形式返回到一个json结构中,如{a:'1' , b:'2' ,c:'' , d:'xxx' , e:undefined}
13、xss原理是什么?怎么防御呢?请写出一个攻击和防御的例子。CSRF和hash碰撞攻击原理是什么,怎么防范。
14、请列举前端可以采取的常见优化方式。
15、请列举你所了解的跨域实现方法
持续更新中。。。。。。