JavaScript初学记录(三) ECMAScript基本对象

ECMAScript的基本对象和使用方法

  • Function对象

           1.如何创建:

              创建方式1:var 方法名 = new Function("形参列表",方法体);

              由于这种方式不太符合一般定义函数的逻辑,所以不建议使用,了解一下就好。

<script>
        //创建Function对象的方式一
        var fun = new Function("val1","val2","alert(val1);");
        //调用
        fun("hello","javascript")
</script>

             运行结果:

              

             创建方式2: function 方法名称(参数列表){

                                             方法体

                                  }

              这是比较常用的一种方式。

<script>
        //创建Function对象的方式二
        function fun(val1, val2){
            alert(val1 + val2);
        }

        //调用
        fun("Hello","JavaScript");
</script>

             运行结果:

              

            创建方式三: var 方法名 = function(参数列表){

                                                方法体

                                                   }

            对比第二种方式相当于把方法名提前,用法一致。

           2.有哪些自带方法:

           3.有哪些属性:

                   ①length:方法接收参数的个数;

<script>
        function fun (a,b,c){

        }
        document.write(fun.length);//将参数个数打印在页面上
</script>

                      运行结果:

                       

 

           4.特点:

                   ①:方法定义时,形参的类型(var)和方法的返回值类型(var)可以不用写。

                   ②:方法是一个对象,如果定义名称相同的方法,不会像其他有些语言一样会报错,而是会覆盖前面先定义的同名方法。

                   ③:在JS中,方法的调用只与方法的名称有关,和参数列表无关,也就是说调用的时候不必严格按照方法原来所期待要传                            的参数。可以少传、多传、或者一个都不传。

                   ④:在方法声明中有一个隐藏的内置的对象(本质是个数组)arguements,接收了所有的实际参数。例如现在我们要编写一                            个方法,能计算任意个数的和。

                          

<script>
        //求任意个数的和
        function add() {
            var sum = 0;
            for (var i = 0; i < arguments.length; i++){
                sum += arguments[i];
            }
            return sum;
        }
        //调用
        document.write(add(1,2,3) + "<br>");
        document.write(add(7,8,9,10,11,12));
</script>

                    运行结果:

                     

           5.如何调用:函数名(参数列表);

  • Array

           1.创建

                      ①:var 数组名 = new Array(元素列表);

                      ②:var 数组名 = new Array(默认长度);

                      ③:var 数组名 = [元素列表];

 <script>
      //创建方式1
      var arr1 = new Array([1,2,3]);
      //创建方式2
      var arr2 = new Array(3);
      //创建方式3
      var arr3 = [4,5,6];
      document.write(arr1 + "<br>");
      document.write(arr2 + "<br>");
      document.write(arr3 + "<br>");

 </script>

                       运行结果:

                        

           2.特点

                     ①:js中,数组元素的类型的可变的。可以放不同类型的数据。

                     ②:和其他大部分语言一样也可以通过下标来访问元素。

                     ③:在js中数组的长度是可变的。访问时如果数组下标越界会自动扩容。且访问到的值是undefined类型。

var arr4 = ['a',123,true,undefined,null];

           3.属性

                     length: 数组的长度。

           4.常用方法

                     join(): 将数组中的元素按照指定的分隔符拼接为字符串。

var arr = new Array(1,"abc","计算机","python");
var str = arr.join("--分--隔--符--");
document.write(arr + "<br>");
document.write(str);

                     运行结果:

             

                    push():  往数组的末尾添加一个或更多元素,并返回新的长度。

                     

var arr = [1,2,3,4];
document.write("arr中共有" + arr.length + "个元素,它们是:" + arr + "<br>");
arr.push(5);
document.write("arr中共有" + arr.length + "个元素,它们是:" + arr + "<br>");
arr.push(6,7,8,9,10);
document.write("arr中共有" + arr.length + "个元素,它们是:" + arr + "<br>");

                     运行结果:

                      

                    toString(): 把数组转换为数组值(逗号分隔)的字符串。

                     

var fruits = ["Banana", "Orange", "Apple", "Mango"];
document.write(fruits.toString());

                      运行结果:

                      

                      更多关于Array的常用方法

  • Boolean (ture or false,不再记录)

  • Date

             1.创建

                        var 对象名 = new Date();

                        

<script>
        //Date对象的创建
        var date = new Date();
        document.write(date);
</script>

                        运行结果: 

                    

            2.常用方法 

                     toLocaleString():  根据本地时间格式,把Date对象转换为字符串。

    <script>
        //Date对象的创建
        var date = new Date();
        //转换为本地时间格式
        var dateStr = date.toLocaleString();
        document.write(dateStr);
    </script>

                        运行结果:

                                                             

                     getTime():  返回1970年1月1日至今的毫秒数。在后面用于当做时间戳。

  • Math

            1.创建  Math对象不用创建可以直接使用,Math.方法名();

            2.常用方法

                     random():返回0~1之间的随机数(包含0不包含1)。

                     ceil(x):  对数进向上舍入(向上取整)。

                     floor(x):  对数进向下舍入(向下取整)。

                     round():  把数四舍五入为最接近的整数。

                      

<script>
    document.write(Math.random() + "<br>");        //产生0~1之间的随机数
    document.write(Math.ceil(3.14) + "<br>");      //向上取整
    document.write(Math.floor(3.14) + "<br>");     //向下取整
    document.write(Math.round(3.14) + "<br>");     //四舍五入
    document.write(Math.round(3.50) + "<br>");
</script>

                    运行结果:

                                                                 

                    小练习:根据以上方法求取1~100之间的随机整数。

                     

for (var i = 0; i < 10; i ++){
        document.write(Math.floor((Math.random() * 100)) + 1) ;
        document.write("<br>");
    }

                    运行结果: 

                                                                                               

            3.属性

                        

  • Number

  • String

  • RegExp :正则表达式对象

              正则表达式:定义字符串的组成规则。

                  1.单个字符:[ ],如[a] [ab] [a-z] 只取其中一个字符。

                    特殊符号代表特殊含义的单个字符:

                                 \d:单个数字字符[0-9]

                                 \w:单个单词字符[a-zA-Z0-9_]

                  2.量词符号:

                                 ?:表示出现0次或1次

                                 *:表示出现0次或n次

                                 +:表示出现1次或n次

                          {m,n}:至少出现m次,最多出现n次。m如果缺省,表示最多出现n次,n如果缺省表示最少出现m次。

                  3.开始/结束符号

                                 ^:开始符号

                                 $ :  结束符号

             正则对象

                    1.创建

                                ①var 对象名 = new RegExp("正则表达式");

                                ②var 对象名 = /正则表达式/;

                                

    <script>
        //1.第一种创建方式
        var reg1 = new RegExp("\\d{9,16}");//9-16位的数字
        //2.第二种创建方式
        var reg2 = /\w*/;  //单词字符出现n次
        var reg3 = /^_\w{6,8}\d$/; //以下划线开头中间6-8个字符以一个数字结尾
        document.write(reg1 + "<br>");
        document.write(reg2 + "<br>");
        document.write(reg3 + "<br>");
    </script>

                       运行结果:

                                                              

                    2.常用方法

                             test(str) : 验证指定的字符串是否符合正则定义的规则。符合返回true,不符合返回false。

                             

<script>
        //1.第一种创建方式
        var reg1 = new RegExp("\\d{9,16}");//9-16位的数字
        //2.第二种创建方式
        var reg2 = /\w*/;  //单词字符出现n次
        var reg3 = /^_\w{6,8}\d$/; //以下划线开头中间6-8个字符以一个数字结尾

        var str1 = "argdadra";
        document.write(reg1.test(str1) + "<br>");
        document.write(reg2.test(str1) + "<br>");
        var str2 = "_abcdef666";
        document.write(reg3.test(str2) + "<br>");
</script>

                            运行结果: 

                                                               

  • Global(全局对象)

              特点:这个对象封装的方法不需要对象就可以直接调用, 方法名();

              常用方法:

                          encodeURI():  url编码。

                          decodeURI():  url解码。

                          encodeURIComponent():  url编码。编码的字符更多,与encodeURI用法一致。

                          decodeURIComponent():  url解码。编码的字符更多,与decodeURI用法一致。

                          

<script>
    var str1 = "https://www.baidu.com?wd=秦时明月";
    var encode1 = encodeURI(str1);
    document.write(encode1 + "<br>");
    var s1 = decodeURI(encode1);
    document.write(s1 + "<br>");
</script>

             运行结果: 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值