• JS对象


    Number对象

    1)Number对象和number基本数据类型不同;Number的类型是 Object, 而 number 的类型是 number;

    2)创建对象: var x = new Number(120);

    3)属性:最大值最小值     Number.MIN_VALUE 和 Number.MAX_VALUE

                    非数字:NaN(Not a Number),通过非数字新创建的Number对象就是非数字; var a = new Number("123abc");  

             判断非数字:isNaN(a);    不可使用  a == Number.NaN;

    4)返回小数表达: a.toFixed(5);  表示返回的小数保留5位

         返回科学记数法: a.toExponential();

         返回基本数字类型的值: a.valueOf();

    String对象

    1)String 对象的数据类型是 object, string基本数据的数据类型是string

    2)创建对象: var str = new String("sakjdhaskd");

    3)属性:str.length 可得到字符串长度

    4)返回指定位置字符: str.charAt(5); //返回5处的字符

                                           str.charCodeAt(5); //返回5处的字符的Unicode码

       字符串拼接:str2 = new String("jsad");     str.concat(str2);

       查找子串位置:str.indexOf("a"); //返回a第一次出现的位置

              str.lastIndexOf("a"); //返回a最后一次出现的位置

       字符串比较:str.localeCompare(str2);  //大于返回1,等于为0,小于为-1

       截取子串:str.substring(0, 3);  //左闭右开

       拆分字符串:str.split(" "); //根据空格拆分字符串,返回字串数组

       替换子串:仅替换第一个满足的子串:str.replace("search", "replace");

            替换所有子串:var regS = new RegExp("search", "g");       str.replace(regS, "replace");

       注:上述大部分方法,在执行完后都会返回基本类型的 string 而非  object 的string;str自身不会变化;

    数组

    1)创建数组:var arr = new Array(); //空数组

                            var arr = new Array(5);//长度为5的数组

             var arr = new Array(1,2,3,4,5); //有初值的数组

    2)arr.length 获取长度

    3)遍历数组:

      方法一:与C语言一致

      方法二:for in 循环

    for(i in arr){
        p( x[i] );      
    }

    4)连接数组:var z = arr1.concat( arr2 );

       返回数组的字符串表达:z = arr.join("@");  其中arr内容为1、2、3....,则得到 z为 “1@2@3”的字符串

       在末尾增删数据:arr.push(6);   var z  = arr.pop();

       在开始位置增删数据:arr.unshift(6);    var z = arr.shift();

       排序:arr.sort();

       自定义排序算法:   function cmp(a,  b){  return a > b; }      arr.sort(cmp);

       数组反转:arr.reverse();

       获取子数组:arr.slice(1, 3);  获取1、2位置的元素,区间左闭右开

     日期

    1)var d = new Date(); //新建的日期为当前时间

    2)获取年月日:d.getFullYear();  d.getMonth();  d.getDate();  //月份从0开始,其它从1开始

       获取时分秒毫秒:d.getHours();  d.getMinutes();  d.getSeconds();  d.getMilliseconds();

       获取今天是本周的第几天:d.getDay(); //从0开始

       获取从1970/1/1 08:00:00 到当前的毫秒数:d.getTime();

    3)修改日期和时间:d.setFullYear(2012);    d.setMonth(0); //月份的0表示1月

    例子1

    制作年龄计算器

    <script>
        function getValue(id){
            return document.getElementById(id).value;
        }
        function setValue(id, value){
            document.getElementById(id).value = value;
        }
        function cacl(){
            var year = parseInt(getValue("year"));
            var month = parseInt(getValue("month"));
            var day = parseInt(getValue("day"));
            var today = new Date();
            var birth = new Date();
            birth.setFullYear(year);
            birth.setMonth(month + 1);
            birth.setDate(day);
            var t1 = birth.getTime();
            var t2 = today.getTime();
            var age = (t2 - t1) / (1000*3600*24*365);
            var ans = Math.round(age);
            document.getElementById("ans").innerHTML="今年" + ans + "";
        }
    </script>
    <strong>请输入出生年月日</strong><br/><br/>
    <strong>年份</strong>
    <select id="year">
        <script>
            for(i = 1900; i < 2020; i++){
                document.write("<option value=" + i + ">" + i + "</option>")
            }
        </script>
    </select>
    <strong>月份</strong>
    <select id="month">
        <script>
            for(i = 1; i < 13; i++){
                document.write("<option value=" + i + ">" + i + "</option>")
            }
        </script>
    </select>
    <strong></strong>
    <select id="day">
        <script>
            for(i = 1; i < 32; i++){
                document.write("<option value=" + i + ">" + i + "</option>")
            }
        </script>
    </select>
    <br/>
    <br/>
    <button onclick="cacl()">计算年龄</button>
    <br/>
    <br/>
    <strong id="ans"></strong>
    View Code

    1)select选择器的最终value即为选项option的value;

    2)当选项过多时,可以在select中插入js代码,由js循环打印生成html代码;

    3)用到了部分DOM的知识

     Math

    1)常数Π和E:Math.PI  Math.E

    2)绝对值:Math.abs(-100);

       最小最大:Math.min(1, 100);

       求幂:Math.pow(3, 2); //求3的2次方

       四舍五入:Math.round( 3.14);

       随机数:Math.random();

    自定义对象

    1)通过new Object 创建临时对象,这样创建的对象无法重用

    <script>
        var cat = new object();
        cat.name = "kitty";  //定义属性
        cat.eat = function(){  //定义方法
            alert("eat!");
        }
    </script>

    2)通过function设计一个对象

    <script>
        function cat(name){   //设计对象
            this.name = name;   
            this.eat = function(){
                alert("eat!");
            }
        }
        cat.prototype.talk = function(){  //为已经设计好的对象追加新的方法
            alert("talk!");
        }
    
        var a = new cat("kitty");
        a.eat();
        a.tale();
    </script>

      这个对象可以重用,还可以通过 prototype 追加新的方法

  • 相关阅读:
    HearthBuddy投降插件2019-11-01的使用
    正则表达式在线分析 regex online analyzer
    Tips to write better Conditionals in JavaScript
    The fileSyncDll.ps1 is not digitally signed. You cannot run this script on the current system.
    Cannot capture jmeter traffic in fiddler
    JMETER + POST + anti-forgery token
    input type color
    HearthBuddy修改系统时间
    What are all the possible values for HTTP “Content-Type” header?
    UDK性能优化
  • 原文地址:https://www.cnblogs.com/zhuqiwei-blog/p/10319019.html
Copyright © 2020-2023  润新知