1.
var a=10;
var sayHello=function(){
console.log(a);
var a=20
}
sayHello();
// 答案:undefind
2.
var a=10;
var sayHello=function(){
console.log(a);
a=20
}
sayHello();
//答案:10
3.
var a=10;
var sayHello=function(){
setTimeout(function(){
console.log(a)
},0);
var a=20;
}
sayHello();
//答案:20
4.对以下数组进行排序 var arr=[1,44,6,34,25,26], 写出过程
方法一:
var arr=[1,44,6,34,25,26];
arr.sort(function(a,b){
return a-b; //升序
//return b-a; 降序
})
console.log(arr);
方法二:
var arr=[1,44,6,34,25,26];
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr.length-i-1;j++){
if(arr[j]>arr[j+1]){
arr[j]=arr[j]+arr[j+1];
arr[j+1]=arr[j]-arr[j+1];
arr[j]=arr[j]-arr[j+1];
}
}
}
console.log(arr);
5.将以下两个变量的值进行交换,写出过程
方法一(不添加任何变量):
var a=10;
var b=20;
a=a+b;
b=a-b;
a=a-b;
console.log(a,b);
方法二(添加一个变量):
var a=10;
var b=20;
var c=a;
a=b;
b=c;
console.log(a,b);
6.编码实现,统计字符串中每一个字符出现的次数
var str="skjlkjifjskfjdiffjd";
var obj={};
for(var i= 0;i<str.length;i++){
var char=str[i];
if(!obj[char]){
obj[char]=1;
}
else{
obj[char]++;
}
}
console.log(obj);
7.写程序找出数组中最大的数
方法一:
var arr=[2,30,46,38,60,55,70,21,100];
var Array=arr.sort(function(a,b){
return b-a;
});
console.log(Array[0]);
方法二:
var arr=[2,30,46,38,60,55,70,21,100];
var max=arr[0];
for(var i=1;i<arr.length;i++){
if(arr[i]>max){
max=arr[i];
}
}
console.log(max);
8.删除数组 [1,2,3,4,5] 中的3和4,写过程
方法一:
var arr=[1,2,3,4,5]
var index=arr.indexOf(3);
arr.splice(index,2);
console.log(arr);
方法二:
var arr=[1,2,3,4,5]
arr = arr.filter(function(item){
return item!=3 && item!=4;
});
console.log(arr);