【JS新手教程】JS获取当前星期几的几种方法

该文通过获取星期几的几种方法,介绍JS里的数组,判断,和字符串截取,可以当作新手教程看,小白也看的懂。
获取星期几,可通过Date()对象的getDay()获取,获取的是一个数字,对应的是0,1,2,3,4,5,6。
0代表的是星期天,后面6个自然数,代码该星期,如1代表星期一,6代表星期六。

描述:(代码见描述后面)
第一个方法:定义一个数组,然后取某一个数组的值。
JS中定义一个带初始值的数组的写法,可以这么写 var 数组名=new Array(第一个数值,第二个数值.......);
获取数值中的某个值的方法,就是 数组名[需要取的数值的索引]索引是从0开始的,往后0,1,2,3,4,5.......
例如:数组名[0]就是取该数组的第一个数值,数组名[1]就是取该数组的第二个数值。
getDay()获取的是0123456这样的,所以可以直接对应下标设置,数组的第一个就是数组名[0]星期天,数组名[1]是星期一,("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六")。这样直接用getDay()的值做下标就可以了,不需要对该值进行加减什么的处理,直接对应。

第二个方法:JS中的判断if else if方法。
JS中的判断方法,if(条件成立)执行某段代码,else if(前面的条件不成立,这个条件成立)执行这段代码.......
如下面的代码,可以这样用人的语言描述:
,判断day这个变量的值是否是0,那么给wstr这个变量赋值为‘星期日’。
否则,就再判断是否是1,如果是1,那么给wstr这个变量赋值为‘星期一。
如果不是,再判断.......
如此,不断判断。当判断某个条件成立时,才不再继续走else支线判断。
最少判断一次,就是等于0的时候,直接等于星期日,不再走支线;最多会判断7次,前面判断都不成立,走的额else支线,直到最后等于6,赋值星期六。

第三个方法:JS中的switch case方法。
JS中的判断方法,switch(某个值)case(值1):执行的语句;break...........
这个和第二个差不多,都是判断后使用哪个,这个可以看做直接对应,case中和switch中的值一致,就会走该case里的执行的语句,break跳出这个判断。
例如,该文中的方法,day的值可能为0,1,2,3,4,5,6,然后把所有可能的值分别写出对应的case,按值对应执行哪个语句。

第四种方法:JS中的charAt()方法,截取某个字符。
格式是:需要截取的字符串.charAt(索引)
如上所说,计算机语言中的索引都是从0开始的,例如,该文中方法,"日一二三四五六"就是一个字符串,有七个字符,索引从0开始,到6,由于day是0到6,所以可以直接用day本身的值作为下标,把需要的字符逐个按照下标排序。
这样就能取到当前星期的数字,前面加上字符“星期”,组成星期一。
注意:在JS中 ,没有字符型数据,只有字符串型的,逐个截取后的实际是长度为1的字符串,也就是一个字符的字符串,但是它是字符串类型的,记得在C#等中,字符型和字符串是不同的类型。

代码

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
输入寄出地址 <input type="text" id="T1" size="15"><br>  
输入收货地址 <input type="text" id="T2" size="15"><br>
<a href="javascript:prn1_preview()">打印预览</a><br>
<script language="javascript" type="text/javascript"> 
        var LODOP; //声明为全局变量
function RetnW() {//JS的数组
        var date=new Date(); 
        var day=date.getDay();
        var weeks=new Array("星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六");
        var week=weeks[day];
        return week
    }
function RetnWF2() {//JS判断的if elseif方法
       var wstr="";  
       var date=new Date(); 
       var day=date.getDay();
       if (day==0){wstr="星期日";} 
       else if(day==1){wstr="星期一";} 
       else if(day==2){wstr="星期二";}
       else if(day==3){wstr="星期三";} 
       else if(day==4){wstr="星期四";} 
       else if(day==5){wstr="星期五";} 
       else if(day==6){wstr="星期六";} 
       return wstr;
    }
function RetnWF3() {//JS判断的switch方法
       var wstr="";  
       var date=new Date(); 
       var day=date.getDay();
       switch (day) {  
       case 0:wstr="星期日";break;
       case 1:wstr="星期一";break; 
       case 2:wstr="星期二";break;
       case 3:wstr="星期三";break; 
       case 4:wstr="星期四";break; 
       case 5:wstr="星期五";break;
       case 6:wstr="星期六";break; 
       }  
        return wstr;
    }
function RetnWF4() {//JS判断的字符串截取方法
        var date=new Date(); 
        var day=date.getDay();
        var wstr="星期"+"日一二三四五六".charAt(day); 
        //var wstr="星期"+"日一二三四五六".charAt(new Date().getDay());  
        return wstr
    }
    function prn1_preview() {
        LODOP=getLodop(); 
        var W1=RetnW();var W2=RetnWF2();var W3=RetnWF3();var W4=RetnWF4();
        LODOP.PRINT_INIT("");        
        LODOP.ADD_PRINT_TEXT(28,41,77,22,"寄出地址:");
        LODOP.ADD_PRINT_TEXT(28,100,200,22,document.getElementById("T1").value);
        LODOP.ADD_PRINT_TEXT(77,41,77,22,"收货地址:");
        LODOP.ADD_PRINT_TEXT(77,100,200,22,document.getElementById("T2").value);
        LODOP.ADD_PRINT_TEXT(111,41,410,20,"这是根据day的数值做下标,取的数组中的某个值:打印是在"+W1);
        LODOP.ADD_PRINT_TEXT(139,40,410,20,"这是用if 和else if判断,根据day等于哪个取的值:打印是在"+W2);
        LODOP.ADD_PRINT_TEXT(169,39,410,20,"这是用switch,根据daye的值,使用哪个值:打印是在"+W3);
        LODOP.ADD_PRINT_TEXT(200,38,410,20,"这是根据day的值,charAt截取一个字符串的某个字:打印是在"+W4);
        //LODOP.PRINT_DESIGN();
        LODOP.PREVIEW();
    };
</script> 
</body>

图示

posted @ 2019-04-30 09:33  花谢悦神  阅读(14876)  评论(0编辑  收藏  举报