zoukankan      html  css  js  c++  java
  • 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 追加新的方法

  • 相关阅读:
    timescaledb 几个方便的api
    k8s PersistentVolume hostpath 简单使用
    timescaledb replication 使用
    timesacledb 测试demo数据运行
    conan c&&c++ 包管理工具使用
    graphql-yoga interface && union 使用
    JFrog Artifactory CE c&&c++ 包管理工具
    graphcool-framework 一个基于graphql的后端开发框架
    graphql-yoga 项目简单使用&&集成docker
    nsq 安装试用
  • 原文地址:https://www.cnblogs.com/zhuqiwei-blog/p/10319019.html
Copyright © 2011-2022 走看看