<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>2015年JS笔试题目</title>
</head>
<body>
<a href="#"> 第一个链接</a><br/>
<a href="#"> 第二个链接</a><br/>
<a href="#"> 第三个链接</a><br/>
<a href="#"> 第四个链接</a><br/>
<a href="#"> 第五个链接</a><br/>
<script type="text/javascript">
var length =3;
var f1= (function(){
var length =5;
function fn(){
console.log(this.length);
}
var obj ={
length:5,
method:function(fn){
fn();
arguments[0]();
}
}
obj.method(fn,1);
//result:10,2
})();
/
var f2 = (function(){
function fn(a){
console.log(a);
var a=2;
function a(){}
console.log(a);
}
fn(1);
})();
function内的变量才是局部变量/
var f3 = (function(){
var f =true;
if(f === true){
var a =10;
}
function fn(){
var b =20;
c =30;
}
fn();
console.log(a);
//console.log(b);
console.log(c);
})();
/
var f4 =(function(){
if('a' in window){
var a =10;
}
//alert(a);
//放到外面就是10,闭包环境下不是10而是undefined
})();
/
var f5 = (function(){
var a =10;
a.pro =10;
console.log(a.pro+10);
var s ="hello";
s.pro =" world";
console.log(s.pro + s);
})();
//函数声明 优先变量申明///
console.log(typeof fn);
function fn(){
var fn =10;
}
//字符串求出现最多字符并统计个数///
var str = "aaabbbaaaaabbbvccccbbaabbbbbbbbbbbbbb";
//正则表达式求解
var a = str.split('');
console.log(a);//["a", "a", "a", "b", "b", "b", "a", "a", "a", "a", "a", "b", "b", "b", "v", "c", "c", "c", "c", "b", "b", "a", "a", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b"]
a.sort();
console.log(a);//["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "c", "c", "c", "c", "v"]
s = a.join("");
console.log(s);//aaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbccccv
var patt = /(\w)\1*/g;
var ss = s.match(patt);
console.log(ss);//["aaaaaaaaaa", "bbbbbbbbbbbbbbbbbbbbbb", "cccc", "v"]
ss.sort(function(a,b){
return a.length < b.length;
})
console.log(ss);//["bbbbbbbbbbbbbbbbbbbbbb", "aaaaaaaaaa", "cccc", "v"]
console.log(ss[0][0]+":"+ss[0].length);
//hash table 方式
var str = "aaabbbaaaaabbbvccccbbaabbbbbbbbbbbbbb";
var obj ={};
var maxn =-1;
var letter;
for(i =0;i<str.length;i++){
console.log(obj[str[i]]);
if(obj[str[i]]){
obj[str[i]]++;
if(obj[str[i]] > maxn){
maxn = obj[str[i]];
letter = s[i];
}
}else{
obj[str[i]] =1;
if(obj[str[i]] >maxn){
maxn= obj[str[i]];
letter =str[i];
}
}
}
console.log(letter+":"+maxn);
/经典闭包///
//dom污染法
/*var lis = document.links;//[a,a,a,a,a]
console.log(lis);
for(i =0 ; i <lis.length ;i++){
lis[i].index = i;
lis[i].onclick = function(){
alert(this.index);
}
}*/
//闭包
var lis = document.links;
for(var i =0;i <lis.length;i++){
(function(i){
console.log("i:"+i);
lis[i].onclick = function(){
alert(i+1);
}
})(i);
}
/url解析split///
var url ="http://www.xxx.com/index.php?key0=0&key1=1&key2=2";
function parseQueryString(url){
var obj ={};
var a = url.split("?");
if(a.length ==1) return obj;
var b = a[1].split("&");//[key0=0,key1=1,key2=2]
for(var i =0;i<b.length;i++){
var c = b[i].split("=");
obj[c[0]] =c[1];
}
console.log("json:"+JSON.stringify(obj));
}
</body>
</html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>2015年JS笔试题目</title>
</head>
<body>
<a href="#"> 第一个链接</a><br/>
<a href="#"> 第二个链接</a><br/>
<a href="#"> 第三个链接</a><br/>
<a href="#"> 第四个链接</a><br/>
<a href="#"> 第五个链接</a><br/>
<script type="text/javascript">
var length =3;
var f1= (function(){
var length =5;
function fn(){
console.log(this.length);
}
var obj ={
length:5,
method:function(fn){
fn();
arguments[0]();
}
}
obj.method(fn,1);
//result:10,2
})();
/
var f2 = (function(){
function fn(a){
console.log(a);
var a=2;
function a(){}
console.log(a);
}
fn(1);
})();
function内的变量才是局部变量/
var f3 = (function(){
var f =true;
if(f === true){
var a =10;
}
function fn(){
var b =20;
c =30;
}
fn();
console.log(a);
//console.log(b);
console.log(c);
})();
/
var f4 =(function(){
if('a' in window){
var a =10;
}
//alert(a);
//放到外面就是10,闭包环境下不是10而是undefined
})();
/
var f5 = (function(){
var a =10;
a.pro =10;
console.log(a.pro+10);
var s ="hello";
s.pro =" world";
console.log(s.pro + s);
})();
//函数声明 优先变量申明///
console.log(typeof fn);
function fn(){
var fn =10;
}
//字符串求出现最多字符并统计个数///
var str = "aaabbbaaaaabbbvccccbbaabbbbbbbbbbbbbb";
//正则表达式求解
var a = str.split('');
console.log(a);//["a", "a", "a", "b", "b", "b", "a", "a", "a", "a", "a", "b", "b", "b", "v", "c", "c", "c", "c", "b", "b", "a", "a", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b"]
a.sort();
console.log(a);//["a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "b", "c", "c", "c", "c", "v"]
s = a.join("");
console.log(s);//aaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbccccv
var patt = /(\w)\1*/g;
var ss = s.match(patt);
console.log(ss);//["aaaaaaaaaa", "bbbbbbbbbbbbbbbbbbbbbb", "cccc", "v"]
ss.sort(function(a,b){
return a.length < b.length;
})
console.log(ss);//["bbbbbbbbbbbbbbbbbbbbbb", "aaaaaaaaaa", "cccc", "v"]
console.log(ss[0][0]+":"+ss[0].length);
//hash table 方式
var str = "aaabbbaaaaabbbvccccbbaabbbbbbbbbbbbbb";
var obj ={};
var maxn =-1;
var letter;
for(i =0;i<str.length;i++){
console.log(obj[str[i]]);
if(obj[str[i]]){
obj[str[i]]++;
if(obj[str[i]] > maxn){
maxn = obj[str[i]];
letter = s[i];
}
}else{
obj[str[i]] =1;
if(obj[str[i]] >maxn){
maxn= obj[str[i]];
letter =str[i];
}
}
}
console.log(letter+":"+maxn);
/经典闭包///
//dom污染法
/*var lis = document.links;//[a,a,a,a,a]
console.log(lis);
for(i =0 ; i <lis.length ;i++){
lis[i].index = i;
lis[i].onclick = function(){
alert(this.index);
}
}*/
//闭包
var lis = document.links;
for(var i =0;i <lis.length;i++){
(function(i){
console.log("i:"+i);
lis[i].onclick = function(){
alert(i+1);
}
})(i);
}
/url解析split///
var url ="http://www.xxx.com/index.php?key0=0&key1=1&key2=2";
function parseQueryString(url){
var obj ={};
var a = url.split("?");
if(a.length ==1) return obj;
var b = a[1].split("&");//[key0=0,key1=1,key2=2]
for(var i =0;i<b.length;i++){
var c = b[i].split("=");
obj[c[0]] =c[1];
}
console.log("json:"+JSON.stringify(obj));
}
parseQueryString(url);
//json:{"key0":"0","key1":"1","key2":"2"}
</body>
</html>