javaScipt--------基础入门(二)---->js对象

范飞翰
2023-12-01

1》js中三个对象,String Boolean Number

<body>
    <script type="text/javascript">
        //Boolean 和 Number类型中的方法在开发中几乎不可能用到
        //String对象==>学习重点
        //属性
        //length 长度,这个学过java的应该都知道
        var str1 = "abc";
        var str2 = new String("abc");
        alert(str1.length);
        alert(str2.length);
        alert(typeof str1);//string
        alert(typeof str2);//object
        //String对象的方法
        alert(str1.big());
        alert(str1.sub());
        alert(str1.bold());//这三个方法基本没用
        //介绍几个重要的方法
        //indexOf
        //lastIndexOf
        //charAt
        //alert(str1.charAt(0));//a
        //charCodeAt 返回所在字符的ASC码
        //alert(str1.charCodeAt(0));//97 1---98
        //subString
        alert(str1.substring(0,1));//a
        //slice 支持负数 从右往左
        alert(str1.slice(0,-1));//a
        //3.与正则结合的方法,用法跟java的很像,这几个方法是编程基本不变的。
        //split 
        //replace 
        //match
        //search

    </script>
  </body>

2>js中String Boolean Number之间的转换

<body>
        <script type="text/javascript">
        //利用包装类的构造函数进行类型转换
        //string ---->boolean
        var b1 = new Boolean("abc0");
        //boolean---->string
        var str1 = new String(true);
        //number --->string
        var str2 = new String(123);
        //string ---->number
        var num1 = new Number("123");
        //运算符===>typeof 运算符 判断原始数据类型的
        //instancof 运算符,是用来判断属于那种对象 
        alert(num1 instanceof Number);//true
        alert(num1 instanceof Object);//true
        alert(num1 instanceof String);//false


        </script>
  </body>

3》js中Array对象

<script type="text/javascript">
        //1.创建方式
            //1>创建方式1 创建一个数组并初始化值
            var arr1 = ["abc",2,true,null,undefined,new Object()];
            //2>创建方式2 同方式 1
            var arr2 = new Array(1,2,3);
            //3>创建方式3,如果只传一个数字那就是数组的长度
            var arr3 = new Array(3);
        //2.属性
            //length ==>数组的长度
            /*
            alert(arr1.length);//6
            alert(arr2.length);//3
            alert(arr3.length);//3
            */
        //js中数组的特点
            //1.js中的数组,类型任意
            //2.数组的长度不是固定的,用到那里,就有多长
            /*
            arr3[8] = 10;
            alert(arr3.length);//9
            alert(arr[6]);//undefined*/
        //3.方法
        var arr4 =[1,2,3];
        //join方法==>将数组中的每个元素链接起来返回一个字符串,参数就是链接符。
        //alert(arr4.join(""));//使用该方法就像java中的StringBuilder对象
            //join方法的高级应用
                /*
                    var str1 ="a";
                    var str2 = "b";
                    var str3 = "c";
                    alert(str1+str2+str3);
                    ["a","b","c"]==>"abc"
                */
        //push/pop ==>模拟栈的结构
        //shift/unshift ==>模拟队列的结构
        //reverse方法==>将数组中的元素顺序倒置
        //alert(arr4.reverse());//3.2.1
        //sort方法 ==>排序的方法
        //注意:该方法默认排序规则,按照字符串规则排序
        //如果需要按照数字排序,需要准备一个比较器
        var arr5 =[2,9,3,100,5,7,1];
        alert(arr5.sort(abc));
        //函数对象==>比较器
        function abc(a,b){
            if(a>b){
                return 1;
            }else if(a==b){
                return 0;
            }else{
                return -1;
            }
            return a-b;//跟上面的if是一样的效果。
        }


    </script>

4》js中的Global对象

<script type="text/javascript">
        //6个方法==>关于解码,编码的方法
        //encodeURI 编码 只编码汉子
        //decodeURI 解码
        var url = "http://www.baidu.com?name=?张/三:";
        var url2 = encodeURI(url);
        alert(decodeURI(url2));//张三,原因如上
        //encodeURIComponent 编码 当提交的值中包含一些url中的敏感符号时,使用该方法对敏感符号编码
        //decodeURIComponent
        //alert(encodeURIComponent(url));
        //escap2 已经过时
        //unescape 已经过时
        //isNaN 判断摸个值是否是NaN ==> NaN==NaN=>false
        //alert(isNaN(NaN));//true
        //alert(NaN == NaN);//false
        //parseInt 转换成整数
        //parseFloat 转换成浮点数
        var str = "123abc";
        //1.使用 +
        //2.使用 new Number()
        //3.parseInt
        //alert(typeof parseInt(str));//number
        /*
        alert(+str);//NaN
        alert(new Number(str));//NaN
        alert(parseInt(str));//123
        */
        //区别: 1,2两种转换属于将字符串整体进行转换.如果字符串中包含1个或以上转换不了的字符,返回NaN
           //3 从左到右 依次转换,能转一个是一个,直到遇到不能转换的值停止.
        //parseFloat 转换成浮点数
        //与上面的parseInt一样,区别是支持转换小数
        var str = "3.141544.12131";
        alert(parseInt(str));//3
        alert(parseFloat(str));//3.141544           
    </script>

5>js中的Math对象

<script type="text/javascript">
        //Math对象
        //属性内建对象==>不需要创建实例,直接使用即可
        //属性
        //PI==>3.14159圆周率
        //方法
        //random方法--->返回随机的0-1,包含头不包含尾
        //alert(Math.random());
        //round方法==>四舍五入方法
        //返回0~100之间的随机数.0和100都可能出现
        //alert(Math.round(Math.random()*100));
        //max() min()方法比较大小
        alert(Math.max(1,2));
        //pow ==>计算参数1的参数2次方
        alert(Math.pow(2,3));//8

    </script>

6>js中的regExp对象

<script type="text/javascript">
            //正则对象
            //1.构造方法
            //参数1正则字符串,参数2匹配模式
            //用户名必须以字母开头,长度在6到10位之间
            //匹配模式有两种
            //"i":忽略大小写,ignoredCase
            //"g":全局匹配global
            var reg1 = new RegExp("^[a-zA-Z][a-zA-Z_0-9]{5,9}$","g");
            var reg2 = /^[a-zA-Z][a-zA-Z_0-9]{5,9}$/g;
            //2.方法
            //test方法==>测试字符串与正则是否匹配
            var username = "a3456";
            alert(reg1.test(username));//false 5-9不包含5,但是包含9
            //与string对象结合的4个方法
            var str ="hello world";
            alert(str.split(/o/g));//自己先才猜猜
            alert(str.replace(/o/g,"haha"));
            alert(str.search(/o/g));//只能找出第一个出现的位置,如果找最后一个用exec方法
            alert(str.match(/o/g));//找到字符串中符合正则表达式的部分并返回


        </script>
 类似资料: