1、输出今天的日期,以YYYY-MM-DD的方式
var
d =
new
Date();
//获取年,getFullYear()返回4位的数字
var
year =
d.
getFullYear();
//获取月,月份比较特殊,0是1月,11是12月
var
month =
d.
getMonth()+
1;
//变成两位数
month =
month<
10?
'0'+
month :
month;
//获取日
var
day =
d.
getDate();
day =
day<
10?
'0' :
day;
alert(
year +
'-'+
month+
'-'+
day)
2、已有字符串foo= 'get-element-byid",写一个function 将其转化成驼峰模式表示法,‘getElementById’
function
fn(){
var
arr =
str.
split(
'-');
for(
var
i =
0;
i<
arr.
length;
i++){
arr[
i]=
arr[
i].
chartAt(
0).
toUpperCase()+
arr[
i].
substr(
1,
arr[
i].
length-
1)
}
msg =
arr.
join(
'')
return
msg
}
3、获取url后面的参数
/*获取url的参数*/
function
GetUserId() {
var
url =
location.
search;
//获取url中"?"符后的字串
var
theRequest = {};
if (
url.
indexOf(
"?") != -
1) {
var
str =
url.
substr(
1);
strs =
str.
split(
"&");
for (
var
i =
0;
i <
strs.
length;
i++) {
theRequest[
strs[
i].
split(
"=")[
0]] =
strs[
i].
split(
"=")[
1];
}
}
return
theRequest;
}
4、立即执行函数
for(
var
i =
0;
i<=
3;
i++){
setTimeOut(
function(){
console.
log(
i)
},
0)
}
//输出结果4444
//改成立即执行函数
for(
var
i =
0;
i<=
3;
i++){
setTimeOut((
function(){
console.
log(
i)
})(
i),
0)
}
//输出结果是0 1 2 3
5、判断一个字符串出现最多的次数的字符,统计这个次数
var
str =
'askjcdbskbbsbcjkdsb';
var
json = {};
for(
var
i =
0;
i<
str.
length;
i++){
if(!
json[
str.
chartAt(
i)]){
json[
str.
charAt(
i)]=
1;
}
else{
json[
str.
charAt(
i)]++;
}
}
var
iMax =
0;
var
iIndex =
'';
for(
var
i
in
json){
if(
json[
i]>
iMax){
iMax =
json[
i];
iIndex =
i;
}
}
6、写一个获取非行间样式的函数
function
getStyle(
obj,
attr,
value){
if(!
value){
if(
obj.
currentStyle){
return
obj.
currentStyle(
attr)
}
else{
obj.
getComputedStyle(
attr,
false)
}
}
else{
obj.
style[
attr]=
value;
}
}
7、将数字12345678转化成RMB形式 如:12,345,678
//思路 :先将数字转为字符串, str = str +'';
//利用反转函数,每三个字符加一个 ‘,’;最后一位不加;re()是自定义的反转函数,最后再反转回去
function
re(
str){
str + =
'';
return
str.
split(
'').
reverse().
join(
'')
}
function
toRMB(
num){
var
tmp =
'';
for(
var
i =
1;
i<
re(
num).
length;
i++){
tmp +=
re(
num)[
i-
1]
if(
i %
3 ==
0 &&
i!=
re(
num).
length){
tmp +=
','
}
}
return
re(
tmp)
}
8、生成5个不同的随机数
//思路:5个不同的随机数 ,每生成一次就和前面的所有数字进行比较,如果有相同的就放弃当前生成的数字。
var
num1 = [];
for(
var
i =
0;
i<
5;
i++){
num1[
i] =
Math.
floor(
Math.
random()*
10)+
1;
for(
var
j =
0;
j<
i;
j++){
if(
num1[
i] ==
num1[
j]){
i--;
}
}
}
9、数组去重
//思路:每遍历一次就和之前的所有做比较,不相等则放入新的数组中
function
unique(
arr){
var
narr = [];
for(
var
i =
0;
i<
arr.
length;
i++){
if(
narr.
indexOf(
arr[
i]==-
1)){
narr.
push(
arr[
i])
}
}
return
narr;
}
10、写一个函数可以计算sum(5,0,-5);输出0;sum(1,2,3,4);输出10
function
sum(){
var
result =
0;
var
arr =
arguments;
for(
var
i =
0;
i<
arr.
length;
i++){
var
num =
arguments[
i]
if(
typeof
num ==
'number'){
result+=
num;
}
}
return
result;
}
11、定义一个log方法,让它可以代理console.log()的方法。
function
log(
msg){
consloe.
log(
msg)
}
//如果要传入多个参数的话
function
log(){
console.
log.
apply(
console,
arguments)
}
12、