• 【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>

    图示

  • 相关阅读:
    用Python在地图上模拟疫情扩散
    Word VBA 单元格处理
    SAR目标检测相关文献整理
    anaconda+pycharm+flask环境搭建
    航空遥感图像(Aerial Images)目标检测数据集汇总
    VS2017新建或拷贝项目编译时出现:找不到 Windows SDK 版本8.1.请安装所需的版本的 Windows SDK
    opencv图像裁剪与拼接
    OpenCV之光流法运动目标跟踪
    R = [obj for obj in recs[imagename] if obj['name'] == classname] KeyError:'1'
    xml.etree.ElementTree.ParseError: not well-formed (invalid token)
  • 原文地址:https://www.cnblogs.com/huaxie/p/10723804.html
Copyright © 2020-2023  润新知