Javascript自学-7

  • 对象的概念
    • 人就是一个“对象”,人的特征:身高、体重、姓名、性别、年龄。每个人可以有不同的本事(方法):打电脑、炒股、开汽车等。
    • 对象是由”属性“和”方法“构成。
  • JS中对象分类

  • 自定义对象
    • 使用new关键字结合构造函数object()来创建一个空的对象
              // (1)使用new关键字结合构造函数Object()来创建一个空的对象
              var obj = new Object();
              // 增加属性
              obj.name = "张三";
              obj.sex = "男";
              obj.age = 24;
              obj.isMarried = true;
              obj.edu = "大专";
              obj.school;
              //增加方法:将一个函数定义赋给了对象属性,那么该属性变成了方法。
              obj.showInfo = function(){
                  var str = "<h2>"+obj.name+"的基本信息</h2>";
                  str += "姓名:"+obj.name;
                  str += "<br />性别:"+obj.sex;
                  str += "<br />年龄:"+obj.age;
                  str += "<br />婚否:"+(obj.isMarried ?"已婚" : "未婚");
                  str += "<br />学历:"+obj.edu;
                  str += "<br />毕业学校:"+(obj.school ? obj.school : "未填写");
                  return str;
              }
              // 调用对象方法,并输出结果
              document.write(obj.showInfo());<span style="font-size: 16px;"></span>
    • 使用大括号{}来创建一个对象。
              // (2)使用大括号{}来创建对象
              var obj = {
                      name         : "张三",
                      sex          : "男",
                      age          : 24,
                      isMarried     : true,
                      edu          : "大专",
                      school         : undefined,
                      showInfo : function(){
                              var str = "<h2>"+obj.name+"的基本信息</h2>";
                              str += "姓名:"+obj.name;
                              str += "<br />性别:"+obj.sex;
                              str += "<br />年龄:"+obj.age;
                              str += "<br />婚否:"+(obj.isMarried ?"已婚" : "未婚");
                              str += "<br />学历:"+obj.edu;
                              str += "<br />毕业学校:"+(obj.school ? obj.school : "未填写");
                              return str;
                      }
              }
              document.write(obj.showInfo());<span style="font-size: 16px;"></span>
  • JS内置对象
    • string对象:字符串对象,提供了对字符串进行操作的属性方法
    • array对象:数组对象,提供了对数组操作方面的属性和方法。
    • date对象:日期时间对象,可以获取系统的日期时间信息。
    • boolean对象:布尔对象,一个布尔变量就是一个布尔对象。(没有可用的属性和方法)
    • number对象:数值对象。一个数值变量就是一个数值对象。
    • math对象:数学对象,提供了数学运算方面的属性和方法。如:
  • string对象的属性和方法
    • length:获取字符串的长度。如:var len = strObj.length;
    • toLowerCase():将字符串中的字符转成全小写。如:strObj.toLowerCase();
    • toUpperCase():将字符串中的字符转成全大写。如:strObj.toUpperCase();
    • charAt()
      • 功能:返回指定下标位置的一个字符。如果没有找到,则返回空字符串。
      • 语法:strObj.charAt(index);
      • 参数:index是指定的一个索引号,根据index索引号来返回一个字符。
            // 字符串的字符下标,与数组元素的下标一样
                var str = "第38期php基础班";
            // 转成大写
                str = str.toUpperCase();
            // 循环输出每个字符
                for(var i=0;i<str.length;i++)
                {
                    document.write(str.charAt(i)+"<br />");
                }<span style="font-size: 16px;"></span>
    • indexOf()
      • 功能:返回一个子字符串的在原始字符串中的索引值。如果没有找到,则返回-1。
      • 语法:strObj.indexOf(substr)
      • 参数:substr代表要查找的一个子字符串。
            // 判断用户输入的邮箱地址是否含有"@"符号
            var email = window.prompt("请输入一个邮箱地址");
            if(email.indexOf("@")==-1)
            {
                document.write("邮箱"+email+"不合法!");
            }else{
                document.write("邮箱"+email+"合法!");
            }<span style="font-size: 16px;"></span>
    • lastIndexOf()
      • 功能:在原始字符串中,从右往左查找某个子字符串。如果没找到,返回-1.
      • 语法:strObj.lastIndexOf(substr)
      • 参数:substr代表要查找的子字符串。
    • substr()
      • 功能:在原始字符串,返回一个子字符串。
      • 语法:strObj.sunstr(startIndex[,length])
      • 说明:从下标stratIndex起,返回length个字符。
      • 参数:
        • startIndex表示查找的起始索引号(下标号);
        • length可选,返回几个字符;
        • 如果省略,一直返回到结尾。
              // 判断以下文件名是不是图片
              var arr = ["jpg","png","gif"];
              var filename = "2015.06.22.1030.gif";    //假设是上传文件名
              // 先找到文件扩展名前的"."
              var index = filename.lastIndexOf(".");
              // 取出扩展名
              var ext = filename.substr(index+1);
              // 循环数组,比较扩展名是否合法
              var flag = false;    //标志
              for(var i=0;i<arr.length;i++)
              {
                  if(ext==arr[i])
                  {
                      flag = true;
                      break;        //退出循环
                  }
              }
              // 判断flag的值
              if(flag)
              {
                  document.write("<font color=blue>合法!</font>");
              }else{
                  document.write("<font color=red>不合法!</font>");
              }<span style="font-size: 16px;"></span>
    • substring()
      • 功能:在原始字符串,返回一个子字符串。
      • 语法:strObj.substring(startIndex[,endIndex])
      • 说明:返回从startIndex索引值到endIndex索引值之间的所有字符。
      • 参数:
        • startIndex:代表开始索引值。
        • endIndex:可选项,代表结束索引值,如果省略,一般返回到结尾的所有字符。
      • 提示:如果省略第二个参数,那么substr()和substring()结果一样。
      • 注意:substring()返回的字符包含startIndex处的字符,不包含endIndex处的字符。
      • 举例:
        • "abcdefghijk".substring(0,5) = "abcde"
        • "abcdefghijk".substr(0,5) = "abcde"
        • "abcdefghijk".substring(2,3) = "c"
        • "abcdefghijk".substr(2,3) = "cde"
    • spilt()
      • 功能:将一个字符串切割成若干段。返回一个数组。
      • 语法:strObj.split(分割号)
      • 参数:参数是一个分割号的字符串。用指定的分割号将字符串切成若干段。
      • 举例:"a,b,c,d".split(",") = arr["a","b","c","d"]
                // 实例:输出今天是星期几
                var str = "周日,周一,周二,周三,周四,周五,周六";
                // 创建一个日期对象
                var today = new Date();
                //取得星期值:调用today对象的getDay()方法
                var i = today.getDay();
                // 将星期字符串,分割成一个数组
                var arr = str.split(",");
                // 输出结果
                document.write("今天是:"+arr[i]);
                document.write("<hr />");
                // 将以下字符串分割成数组(一个一个的元素)
                var str = "第38期PHP基础班";
                var arr = str.split("");
                document.write(arr);<span style="font-size: 16px;"></span>
  • array对象:一个数组变量,就是一个数组对象
    • length属性:动态获取数组长度。如:var len = arrObj.length;
    • join()
      • 功能:将一个数组转成字符串。结果返回一个字符串
      • 语法:arrObj.join(连接号)
      • 说明:将一个数组,用指定的“连接号”连接成一个字符串。
                // 实例:将以下字符串,转成数组,然后再转成字符串
                var str = "周日,周一,周二,周三,周四,周五,周六";
                // 转成数组
                var arr = str.split(",");
                // 将数组传承字符串
                var str1 = arr.join(".");
                document.write(str1);<span style="font-size: 19px;"></span>
    • reverse()
    • 功能:将数组中各元素颠倒顺序。
    • 语法:arrObj.reverse()
    • 参数:无
              var str = "周日,周一,周二,周三,周四,周五,周六";
              // 转成数组
              var arr = str.split(",");
              var antiArr = arr.reverse();
              document.write(antiArr);<span style="font-size: 16px;"></span>
    • 数组元素的删除和添加
      • 之前学习的:
        • delete运算符,只能删除数组元素的值,而所占空间还在,总长度没变(arr.length)
        • 数组元素的添加,只能向后添加,不能向前添加。
      • shift():删除数组中第一个元素,返回删除的那个值,并将长度减1.
      • pop():删除数组中最后一个元素,返回删除的那个值,并将长度减1
            var arr = ["张三","男",30];
            document.write("数组的长度:"+arr.length+",<br />值:"+arr+"<hr />");
            //删除最后一个元素
            var value = arr.pop(2);
            document.write("数组的长度:"+arr.length+",<br />值:"+arr+",返回值是:"+value+"<hr />");
            // 删除第一个元素
            var value = arr.shift();
            document.write("数组的长度:"+arr.length+",<br />值:"+arr+",返回值是:"+value+"<hr />");
        显示结果:
    // 实例:对以下数组进行反转操作(不实用reverse方法)
    var arr1 = ["张三","男",30,"大专"];
    // 提前获取数组长度
    var len = arr1.length;
    // (1)创建一个空的数组
    var arr2 = new Array();
    // (2)循环数组
    for(var i=0;i<len;i++)
    {
        arr2[i] = arr1.pop();
    }
    document.write(arr2);
      • unshift():往数组的前面添加一个或多个数组元素,数组的长度要改变。arrObj.unshift("a","b","c");
      • push():往数组结尾添加一个或多个数组元素,数组的长度要改变。arrObj.push("a","b","c");
            // 实例:对以下数组进行反转操作(不实用reverse方法)
            var arr1 = ["张三","男",30,"大专"];
            document.write("数组长度:"+arr1.length+"<br />数组内容:"+arr1+"<hr />");
            // 往数组末尾追加元素
            arr1.push("大专","北京科技大学");
            document.write("数组长度:"+arr1.length+"<br />数组内容:"+arr1+"<hr />");
            arr1.unshift("10010");
            document.write("数组长度:"+arr1.length+"<br />数组内容:"+arr1+"<hr />");


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值