<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
function time(year,month,day){
var days =day;
if(month==1){
return days;
}
var months=[31,28,31,30,31,30,31,31,30,31,30,31]
for(var i=0;i<month-1;i++){
days+=months[i]
}
if(Year(year)&&month>2){
days++;
}
return days;
}
function Year(year){
return year%4==0&&year%100!=0||year%400==0;
}
console.log(time (2013,2,1))
// console.log(time ('2013,2,1)')改成这个
</script>
</body>
</html>
参数改成字符串?可以在函数内split下就行,代码如下
function time(s) {
var arr = s.split(',').map(i => parseInt(i));
var year = arr[0], month = arr[1], day = arr[2]
var days = day;
if (month == 1) {
return days;
}
var months = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
for (var i = 0; i < month - 1; i++) {
days += months[i]
}
if (Year(year) && month > 2) {
days++;
}
return days;
}
function Year(year) {
return year % 4 == 0 && year % 100 != 0 || year % 400 == 0;
}
// console.log(time(2013, 2, 1))
console.log(time('2013,2,1)'))
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script type="text/javascript">
function time(str){
var arr = str.split(",");
var year = parseInt(arr[0], 10);
var month = parseInt(arr[1], 10);
var day = parseInt(arr[2], 10);
var days =day;
if(month==1){
return days;
}
var months=[31,28,31,30,31,30,31,31,30,31,30,31]
for(var i=0;i<month-1;i++){
days+=months[i]
}
if(Year(year)&&month>2){
days++;
}
return days;
}
function Year(year){
return year%4==0&&year%100!=0||year%400==0;
}
console.log(time ('2013,2,1'))
</script>
</body>
</html>
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!