1、编写程序,根据用户输入的数值,计算其平方、平方根和自然对数
<script>var input_num=Number(prompt("请输入一个数字:"));var sqrt_num=Math.sqrt(input_num);//开方var pow_num=Math.pow(input_num,2);//平方var log_num=Math.log(input_num);//ln,即e的多少次方等于input_numvar log10_num=Math.log10(input_num);//以10为底,10的多少次方等于input_numdocument.write(input_num+"的平方根为"+sqrt_num+",平方为"+pow_num+",自然对数为"+log_num+",对数为"+log10_num);</script>
2、使用Math对象的random()方法编制一个1~100之间的随机整数的函数
<script> function Random_hun(){
for(var i=1;i<=100;i++){
if(i%15==0) //满15个换行document.write(Math.floor(Math.random()*100+1)+"<br>"); //random产生[0,1)之间的数,乘以100后范围在[0,100),所以要+1else{
var r=Math.floor(Math.random()*100+1);//将随机数存到r里,避免打印时又变换随机数if(Math.floor(r/10)!==0) //即如果r不是一位数,是两位数或三位数{
if(Math.floor(r/100)!==0) //如果是一百document.write(r+" ");elsedocument.write(r+" ");}elsedocument.write(r+" ");} } }Random_hun();</script>
3、设计一个页面,在页面上显示信息“现在是xx年xx月xx日xx点xx分xx秒(星期xx),欢迎你的到来”。
<script> function time_v(){
var date=new Date();document.write("现在是"+date.getFullYear()+"年"+(date.getMonth()+1)+"月"+date.getDate()+"日"+date.getHours()+"点"+date.getMinutes()+"分"+date.getSeconds()+"秒"+"(星期"+date.getDay()+"),欢迎你的到来!");}time_v();</script>
然而以上代码有个小问题,星期天会显示星期0,根据此问题做出以下修改。
<script>var date=new Date();var year=date.getFullYear();var month=date.getMonth()+1;var day=date.getDate();var hour=date.getHours();var min=date.getMinutes();var sec=date.getSeconds();var week=date.getDay();switch(week){
case 0:week='七';break;case 1:week='一';break;case 2:week='二';break;case 3:week='三';break;case 4:week='四';break;case 5:week='五';break;case 6:week='六';break;}document.write("现在是"+year+"年"+month+"月"+day+"日"+hour+"点"+min+"分"+sec+"秒"+"(星期"+week+"),欢迎你的到来");</script>
4、设计一个程序,使用数组接收用户输入的7门功课的成绩,然后在页面上显示其总成绩和平均分,并列出小于60的成绩。
<script>function f01(){
var score_arr=new Array();//括号里不能直接写7,不然会自动创建7个为空的元素var score_60=new Array();var grade_sum=0,grade_avg;for(var i=0;i<7;i++){
var score=Number(prompt("请输入第"+(i+1)+"门课的成绩:")); score_arr.push(score);grade_sum+=score_arr[i];if(score_arr[i]<60){
score_60.push(score_arr[i]);}}grade_avg=grade_sum/7;//document.write("总成绩为"+grade_sum+",平均分为"+grade_avg);document.getElementById("show").innerHTML="总成绩为"+grade_sum+",<br>平均分为"+grade_avg+",<br>小于60分的成绩为"+score_60;}</script>
</head>
<body><p id="show" onclick="f01()">点击输入成绩</p>
</body>
5、为Date对象添加一个自定义方法getDayYear(),用来返回日期是所在年份的第几天。
方法1:
<script>function getDayYear(){
var now_date=prompt("请输入当前日期,格式为xxxx/x/x:"); //输入2022/4/15var date=new Date(now_date);var month=date.getMonth(),year=date.getFullYear(),day=0; //getMonth()返回0~11for(var i=0;i<month;i++){
switch(i){
case 0:day+=31;break;case 1:if(year%4==0&&year%100!=0||year%100==0){
day+=29;break;} else{
day+=28;break;} case 2:day+=31;break;case 3:day+=30;break;case 4:day+=31;break;case 5:day+=30;break;case 6:day+=31;break;case 7:day+=31;break;case 8:day+=30;break;case 9:day+=31;break;case 10:day+=30;break;//case 11:day+=31;break; 相当于12月的总天数,在循环结束后加即可}} day+=date.getDate();document.write("现在是"+date.getFullYear()+"的第"+day+"天");}getDayYear();</script>
方法2:
<script>function IsLeapYear(year){
if(year%4==0&&year%100!=0||year%400==0){
return true;}else{
return false;}}function DayOfYear(d){
var date=new Date(d);var year=date.getFullYear();var month=date.getMonth();var day=date.getDate();if(IsLeapYear(year)){
months=new Array(31,29,31,30,31,30,31,31,30,31,30,31);}else{
months=new Array(31,28,31,30,31,30,31,31,30,31,30,31);}for(var i=0;i<month;i++){
day+=months[i];}document.write("现在是"+year+"的第"+day+"天");}var d=prompt("请输入一个日期:");DayOfYear(d);</script>
6、实现输入位数n,输出n位随机数
<script>var n=Number(prompt("请问你想打印多少位的随机数?"));var s="";for(var i=0;i<n;i++){
s+=Math.floor(Math.random()*10);}document.write(s);</script>
输入8
以上代码也会有一个问题,即第一位可能为0,即做出以下修改:
<script>var n=Number(prompt("请问要产生几位随机数?")); var res=Math.ceil(Math.random()*9); //以防第一位为0的情况var num=""+res;for(var i=0;i<n-1;i++){
num+=Math.floor(Math.random()*10);} document.write("<h1>"+num+"</h1>");
</script>