zoukankan      html  css  js  c++  java
  • JavaScript的内部对象

    JavaScript的内部对象

    按创建方式不同分为:使用变量声明的隐性对象,使用new创建的显性对象

    隐性对象

    在赋值和声明后就是一个隐性对象,隐性对象不支持prototype属性,也无法随意扩展对象属性。

    显性对象

    显性对象支持prototype属性,支持新建对象属性。

    • JavaScript提供了十一种内部对象

    Boolean对象

    Boolean对象是一种数据类型,提供构造函数可以创建布尔数据类型的对象

    objboolean=new Boolean();

    Funcation对象

    JavaScript函数就是一个funcation对象,Funcation对象是函数,如果函数有参数,这些传入的参数都是argument对象

    Global对象

    Global对象不能使用new来创建,在脚本语言初始化时会自动创建此对象。

    Number对象

    Number对象,用于创建数值类型的变量

    Object对象

    使用Object对象创建自定义对象

    RegExp对象

    JavaScript的正则表达式对象

    5-2JavaScript的string对象

    • 创建string对象

    var obj="javascript";或var obj2=new string("JavaScript");两种方式

    string对象提供了一系列的格式编排方法

    String 对象方法

    方法 描述

    anchor() 创建 HTML 锚。

    big() 用大号字体显示字符串。

    blink() 显示闪动字符串。

    bold() 使用粗体显示字符串。

    fixed() 以打字机文本显示字符串。返回<tt>string</tt>中内容

    fontcolor() 使用指定的颜色来显示字符串。

    fontsize() 使用指定的尺寸来显示字符串。

    fromCharCode() 从字符编码创建一个字符串。

    link() 将字符串显示为链接。

    italics() 使用斜体显示字符串。

    localeCompare() 用本地特定的顺序来比较两个字符串。

    slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。

    small() 使用小字号来显示字符串。

    strike() 使用删除线来显示字符串。

    sub() 把字符串显示为下标。

    sup() 把字符串显示为上标。

    toSource() 代表对象的源代码。

    toString() 返回字符串。

    valueOf() 返回某个字符串对象的原始值。

     <script  type ="text/javascript">
            var obj = "JavaScript程序设计";
            document.write("anchor():" + obj.anchor() + "<br/>");
            document.write("big():" + obj.big() + "<br/>");
            document.write("blink():" + obj.blink() + "<br/>");
            document.write("bold():" + obj.bold() + "<br/>");
            document.write("fixed():" + obj.fixed() + "<br/>");
            document.write("fontcolor(red):" + obj.fontcolor("red") + "<br/>");
            document.write("fontsize(6):" + obj.fontsize(6) + "<br/>");
            document.write("italics()" + obj.italics() + "<br/>");
            document.write("link()" + obj.link("https://home.cnblogs.com/u/cyjy/") + "<br/>");
            document.write("small()" + obj.small() + "<br/>");
            document.write("strike():" + obj.strike() + "<br/>");
            document.write("sub():" + obj.sub() + "<br/>");
            document.write("sup():" + obj.sup() + "<br/>");
            
        </script>

    • 字符串的长度与大小写

    length属性是用于获取字符串的长度

    toLocaleLowerCase() 把字符串转换为小写。

    toLocaleUpperCase() 把字符串转换为大写。

    toLowerCase() 把字符串转换为小写。

    toUpperCase() 把字符串转换为大写。

    <script  type ="text/javascript">
             var obj = "JavaScript";
             var obj2 = new String("程序设计");
             document.write("英文测试字符串:" + obj  + "<br/>");
             document.write("中文测试字符串:" + obj2 + "<br/>");
             document.write("英文测试字符串length:" + obj.length + "<br/>");
             document.write("中文测试字符串length:" + obj2.length+ "<br/>");
             document.write("英文测试字符串小写:" + obj.toLowerCase() + "<br/>");
             document.write("英文测试字符串大写:" + obj.toUpperCase() + "<br/>");
        </script>

    • 获取字符串的指定字符

    charAt(index) 返回在指定位置的字符。

    charCodeAt(index) 返回在指定的位置的字符的 Unicode 编码。

    <script  type ="text/javascript">
             var obj = "JavaScript";
             var obj2 = new String("程序设计");
             document.write("英文测试字符串:" + obj + "<br/>");
             document.write("中文测试字符串:" + obj2 + "<br/>");
             document.write("英文测试字符串.charAt(4):" + obj.charAt(4) + "<br/>");
             document.write("英文测试字符串charCodeAt(4):" + obj.charCodeAt(4) + "<br/>");
        </script>

    • 子字符串的搜索

    indexOf(string,index) 检索字符串。返回第一次找到字符串的索引位置,没有找到返回-1,传入的string是要搜索的参数,index为要搜索的索引位置

    lastIndexOf(string) 从后向前搜索字符串。

    match(string) 找到一个或多个正则表达式的匹配。没有找到返回null

    search(string) 检索与正则表达式相匹配的值。

    <script  type ="text/javascript">
            var obj = "JavaScript";
            var obj2 = new String("程序设计");
            document.write("英文测试字符串indexOf('a'):" + obj.indexOf('a') + "<br/>");
            document.write("英文测试字符串indexOf('a',2):" + obj.indexOf('a',2) + "<br/>");
            document.write("中文测试字符串.indexOf('程序'):" + obj2.indexOf('程序') + "<br/>");
            document.write("英文测试字符串.lastIndexOf('a') :" + obj.lastIndexOf('a') + "<br/>");
            document.write("英文测试字符串.match('Java'):" + obj.match('Java') + "<br/>");
            document.write("中文测试字符串.match('程序'):" + obj2.match('程序') + "<br/>");
            document.write("英文测试字符串.search('Java'):" + obj.search('Java') + "<br/>");
            document.write("中文测试字符串.search('学校'):" + obj2.search('学校') + "<br/>");
        </script>

    •  子字符串的处理

    replace(string1,string2) 替换与正则表达式匹配的子串。将string1换成string2

    split() 把字符串分割为字符串数组。返回数组对象。

     substr(index,length) 从起始索引号提取字符串中指定数目的字符。从index开始取出length个字符串

    substring(index1,index2) 提取字符串中两个指定的索引号之间的字符。

    concat(string) 连接字符串。将string字符串添加到string对象的字符串之后.

     <script  type ="text/javascript">
            var obj = "JavaScript";
            var obj2 = new String("程序设计");
            document.write("英文测试字符串:" + obj + "<br/>");
            document.write("中文测试字符串:" + obj2 + "<br/>");
            document.write("英文测试字符串.replace('Script', '')" + obj.replace('Script', '') + "<br/>");
            document.write("中文测试字符串.split('序')" + obj2.split('序') + "<br/>");
            document.write("英文测试字符串.substr(2,4)" + obj.substr(2, 4) + "<br/>");
            document.write("英文测试字符串obj2.substring(2,5)" + obj2.substring(2, 5) + "<br/>");
        </script>

    将12/5/2012变为2012-5-12;

     var obj = "12/5/2012";          
          var obj = obj.replace(///g,"-"); 
      var obj2=obj.replace(/(d{2})-(d{1}|d{2})-(d{4})/g,'$3-$2-$1');
          alert(obj2); 
     
     
    • JavaScript的Array对象

     JavaScript数据类型中没有数组,而是使用Array对象来创建数组,每一个数组元素事实上就是Array对象的属性。
    创建一维数组

     new Array();

    new Array(size);

    new Array(element0, element1, ..., elementn);

    <script  type ="text/javascript">
            var arr = new Array(1,2,3,4);
            var arr2 = new Array(3);
            arr2[0] = "one";
            arr2[1] = "two";
            arr2[2] = "three";
            //用循环显示数组值
            for (var i = 0; i <=arr.length; i++)
            {
                document.write(arr[i] + "<br/>");
            }
            for (var i = 0; i <3; i++) {
                document.write(arr2[i] + "<br/>");
            }
        </script>

    Array对象的属性与方法

    length属性获取数组长度

    方法 描述
    concat(arry) 连接两个或更多的数组,并返回结果。将参数合并到当前的数组中
    join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

    pop() 删除并返回数组的最后一个元素
    push() 向数组的末尾添加一个或更多元素,并返回新的长度。
    shift() 删除并返回数组的第一个元素
    slice() 从某个已有的数组返回选定的元素
    splice() 删除元素,并向数组添加新元素。
    toSource() 返回该对象的源代码。
    toString() 把数组转换为字符串,并返回结果。
    reverse() 颠倒数组中元素的顺序。
    sort
    (arry)将数组的所有元素排序

    <script  type ="text/javascript">
            var arr = new Array(1,2,3,4);
            var arr2 = new Array(3);
            arr2[0] = "one";
            arr2[1] = "two";
            arr2[2] = "three";
            function showarr(arr) {
                for (var i = 0; i < arr.length; i++) {
                    document.write(arr[i] + ",");
    
                }
            }
            document.write("数组长" + arr2.length + "<br/>");
            document.write(arr2.join() + "<br/>");
            arr2.reverse();//反转数组
            document.write("<br/>");
            showarr(arr);
            document.write("<br/>");
            arr = arr.concat(arr2);//连接两个数组
            showarr(arr);
        </script>

    JavaScript的多维数组

    <script  type ="text/javascript">
              var arr = new Array(3);
              for (var i = 0; i < 3; i++)
              {
                  arr[i] = new Array(2);
              }
              arr[0][0] = "1";
              arr[0][1] = "2";
              arr[1][0] = "3";
              arr[1][1] = "4";
              arr[2][0] = "5";
              arr[2][1] = "6";
              for (var j= 0; j< arr.length;j++)
              {
                  for (i = 0; i < arr[i].length; i++) {
                      document.write(arr[j][i]);
                  }
                      document.write("<br/>");
                  
              }
        </script>

    • JavaScript的Date对象

    Date对象可以获取计算机的系统时间和日期,并且提供相关的方法将它转化为所需的日期数据。

    创建Date对象

    var youDate=new Date()

    Date 对象会自动把当前日期和时间保存为其初始值。

    Date() 返回当日的日期和时间。
    getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
    getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6),也就是星期日到星期六。
    getMonth() 从 Date 对象返回月份 (0 ~ 11)。
    getFullYear() 从 Date 对象以四位数字返回年份。
    getYear() 请使用 getFullYear() 方法代替。
    getHours() 返回 Date 对象的小时 (0 ~ 23)。
    getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
    getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
    getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
    getTime() 返回 1970 年 1 月 1 日至今的毫秒数。

    <script  type ="text/javascript">
            var youDate = new Date();
            document.write("系统日期:" + youDate.getDate());
            document.write("<br/>");
            document.write("系统时间:" + youDate.getHours() + ":" + youDate.getMinutes()+":"+youDate.getSeconds());
        </script>

    设置时间和日期

    setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
    setMonth() 设置 Date 对象中月份 (0 ~ 11)。
    setFullYear() 设置 Date 对象中的年份(四位数字)。
    setYear() 请使用 setFullYear() 方法代替。
    setHours() 设置 Date 对象中的小时 (0 ~ 23)。
    setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
    setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
    setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
    setTime() 以毫秒设置 Date 对象。

     JavaScript的Date对象可以获取系统时间,只需定时执行JavaScript函数就可以建立一个网页时钟,同时需要使用setTimeout(),参数中可以设置间隔多少时间来执行函数,clearTimeout()可以清除定时器

    • JavaScript的Math对象

    Math对象不同于其他JavaScript对象,Math对象是由脚本语言引擎所创建的,不需要使用new来创建。

    max(x,y) 返回 x 和 y 中的最高值。
    min(x,y) 返回 x 和 y 中的最低值。
    pow(x,y) 返回 x 的 y 次幂。
    random() 返回 0 ~ 1 之间的随机数。

    需要获得更大的随机数乘以相关的倍数就可以了

    <script  type ="text/javascript">
            var num = Math.round(Math.random() * 100);
            document.write("0~100之间的随机数"+num);
        </script>

    JavaScript的Error对象

    try catch finally处理例外。

    JavaScript对象的共享属性和方法

    属性 constructor属性可以获取创建对象使用的构造函数的函数名称

    tostring()方法和value()可以显示对象的内容。

  • 相关阅读:
    【CF-148E】Porcelain DP
    【CF-687C】The Values You Can Make 01背包变形
    【CF-269】B. Greenhouse Effect 最公共子序列
    【CF-1345】C.Hilbert's Hotel 数论
    【CF-607B】Zuma 经典区间DP
    【【模板】三分法】
    【CF-1355 E.Restorer Distance】三分,贪心
    【CF-1355 BCount Triangles】枚举
    【CF-1355 Sequence with Digits】
    触发器的类型有哪三种?
  • 原文地址:https://www.cnblogs.com/cyjy/p/6428908.html
Copyright © 2011-2022 走看看