zoukankan      html  css  js  c++  java
  • 前端基础之JavaScript对象

     一.简单介绍

      在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量

      以创建对象的方式定义变量

      var aa=Number.MAX_VALUE;

      var bb=String("hello world");

      var cc=new Data();

      var dd=new Array();

    二.各类对象

      1.String对象

      创建:var aa="hello world";

         var aa=new String("hello world")

      字符串对象的属性和函数

    x.length                       ----获取字符串的长度
    
     x.toLowerCase()        ----转为小写
     x.toUpperCase()        ----转为大写
     x.trim()                       ----去除字符串两边空格       
    
    
    ----字符串查询方法
    
    x.charAt(index)         ----str1.charAt(index);----获取指定位置字符,其中index为要获取的字符索引
    
    x.indexOf(findstr,index)----查询字符串位置
    x.lastIndexOf(findstr)  
    
    x.match(regexp)         ----match返回匹配字符串的数组,如果没有匹配则返回null
    x.search(regexp)        ----search返回匹配字符串的首字符位置索引
    
                            示例:
                            var str1="welcome to the world of JS!";
                            var str2=str1.match("world");
                            var str3=str1.search("world");
                            alert(str2[0]);  // 结果为"world"
                            alert(str3);     // 结果为15
                            
    
    ----子字符串处理方法
    
    x.substr(start, length) ----start表示开始位置,length表示截取长度
    x.substring(start, end) ----end是结束位置
    
    x.slice(start, end)     ----切片操作字符串
                            示例:
                                var str1="abcdefgh";
                                var str2=str1.slice(2,4);
                                var str3=str1.slice(4);
                                var str4=str1.slice(2,-1);
                                var str5=str1.slice(-3,-1);
    
                                alert(str2); //结果为"cd"
                                
                                alert(str3); //结果为"efgh"
                                
                                alert(str4); //结果为"cdefg"
                                
                                alert(str5); //结果为"fg"
    
    x.replace(findstr,tostr) ----    字符串替换
    
    x.split();                 ----分割字符串
                                     var str1="一,二,三,四,五,六,日"; 
                                    var strArray=str1.split(",");
                                    alert(strArray[1]);//结果为"二"
                                    
    x.concat(addstr)         ----    拼接字符串

      2.Array 对象

       创建对象:

       创建方式一:var aa= new Array(1,2,"hello world");

       创建方式二:var bb=[1,2,3,"logo"];

       创建方式三:var cc=new Array();

              cc[0]=7;

            cc[1]=9;

            cc[2]=10;

            cc[3]="hello world";

      创建二维数组:

    var cnweek=new Array(7);
    for (var i=0;i<=6;i++){
        cnweek[i]=new Array(2);
    }
    cnweek[0][0]="星期日";
    cnweek[0][1]="Sunday";
    cnweek[1][0]="星期一";
    cnweek[1][1]="Monday";
    ...
    cnweek[6][0]="星期六";
    cnweek[6][1]="Saturday";

      1.数组对象的属性和方法

      join  :

      var aa=[1,2,3,4];

      var aaa=aa.join("-");

      alert(aaa);

       contact:

      var aa=[1,2,3,4];

      var bb=aa.contact(4,5);

      alert(aa.toString());  //1,2,3,4

      alert(bb.toString());  //1,2,3,4,5

      数组排序:reverse sort

    //x.reverse()
    //x.sort()
    
    var arr1=[32, 12, 111, 444];
    //var arr1=["a","d","f","c"];
    
    arr1.reverse(); //颠倒数组元素
    alert(arr1.toString());
    //结果为444,111,12,32
    
    arr1.sort();    //排序数组元素
    alert(arr1.toString());
    //结果为111,12,32,444
    
    //------------------------------
    arr=[1,5,2,100];
    
    //arr.sort();
    //alert(arr);
    //如果就想按着数字比较呢?
    
    function intSort(a,b){
        if (a>b){
            return 1;//-1
        }
        else if(a<b){
            return -1;//1
        }
        else {
            return 0
        }
    }
    arr.sort(intSort);
    
    alert(arr);
    
    function IntSort(a,b){
        return a-b;
    }

      数组切片操作

    var aa=['a','b','c','d','e','f','g','h']
    
    var aa1=aa.slice(2,4);
    
    var aa2=aa.slice(4);
    
    var aa3=aa.slice(2,-1);
    
    alert(aa2.toString());  //'c,d'
    
    alert(aa3.toSpring());  //'e,f,g,h'
    
    alert(aa4.toSpring());  //'c,d,e,f,g'

      数组的push 和pop

    var arr1=[1,2,3];
    arr1.push(4,5);
    alert(arr1);
    //结果为"1,2,3,4,5"
    arr1.push([6,7]);
    alert(arr1)
    //结果为"1,2,3,4,5,6,7"
    arr1.pop();
    alert(arr1);
    //结果为"1,2,3,4,5"

      数组的shift和unshift

    var arr1=[1,2,3];
    arr1.unshift(4,5);
    alert(arr1);  //结果为"4,5,1,2,3"
    arr1. unshift([6,7]);
    alert(arr1);  //结果为"6,7,4,5,1,2,3"
    
    arr1.shift();
    alert(arr1);  //结果为"4,5,1,2,3"

      总结js数组特性

    js中数组的特性
    //java中数组的特性,  规定是什么类型的数组,就只能装什么类型.只有一种类型.
    //js中的数组特性1: js中的数组可以装任意类型,没有任何限制.
    //js中的数组特性2: js中的数组,长度是随着下标变化的.用到多长就有多长.            

     4.DATE对象

       创建对象

    var nowd1=new Date();
    alert(nowd1.toLocaleString( ));
    //方法2:参数为日期字符串
    var nowd2=new Date("2004/3/20 11:12");
    alert(nowd2.toLocaleString( ));
    var nowd3=new Date("04/03/20 11:12");
    alert(nowd3.toLocaleString( ));
    方法3:参数为毫秒数
    var nowd3=new Date(5000);
    alert(nowd3.toLocaleString( ));
    alert(nowd3.toUTCString());
    
    方法4:参数为年月日小时分钟秒毫秒
    var nowd4=new Date(2004,2,20,11,12,0,300);
    alert(nowd4.toLocaleString( ));//毫秒并不直接显示

      date 对象的方法:

    //设置日期和时间
    //setDate(day_of_month)       设置日
    //setMonth (month)                 设置月
    //setFullYear (year)               设置年
    //setHours (hour)         设置小时
    //setMinutes (minute)     设置分钟
    //setSeconds (second)     设置秒
    //setMillliseconds (ms)       设置毫秒(0-999)
    //setTime (allms)     设置累计毫秒(从1970/1/1午夜)
        
    var x=new Date();
    x.setFullYear (1997);    //设置年1997
    x.setMonth(7);        //设置月7
    x.setDate(1);        //设置日1
    x.setHours(5);        //设置小时5
    x.setMinutes(12);    //设置分钟12
    x.setSeconds(54);    //设置秒54
    x.setMilliseconds(230);        //设置毫秒230
    document.write(x.toLocaleString( )+"<br>");
    //返回1997年8月1日5点12分54秒
    
    x.setTime(870409430000); //设置累计毫秒数
    document.write(x.toLocaleString( )+"<br>");
    //返回1997年8月1日12点23分50秒

      date对象的方法(日期和时间的转换)

    日期和时间的转换:
    
    getTimezoneOffset():8个时区×15度×4分/度=480;
    返回本地时间与GMT的时间差,以分钟为单位
    toUTCString()
    返回国际标准时间字符串
    toLocalString()
    返回本地格式时间字符串
    Date.parse(x)
    返回累计毫秒数(从1970/1/1午夜到本地时间)
    Date.UTC(x)
    返回累计毫秒数(从1970/1/1午夜到国际时间)

      5.Math 对象

    #math对象的方法
    abs(x)    返回数的绝对值。
    exp(x)    返回 e 的指数。
    floor(x)对数进行下舍入。
    log(x)    返回数的自然对数(底为e)。
    max(x,y)    返回 x 和 y 中的最高值。
    min(x,y)    返回 x 和 y 中的最低值。
    pow(x,y)    返回 x 的 y 次幂。
    random()    返回 0 ~ 1 之间的随机数。
    round(x)    把数四舍五入为最接近的整数。
    sin(x)    返回数的正弦。
    sqrt(x)    返回数的平方根。
    tan(x)    返回角的正切。

     6.function对象

       函数定义:

     function  函数名(参数)

       函数体

     return

      }

     注意:

     js加载函数执行与python有所不同,它是在整体加载完后执行,所以执行函数放在函数声明上面和下面都可以

     function对象的属性

     aler(func1.length) //返回函数期望的参数个数

     function的调用:

     只要函数名写对,参数不写也不报错

     函数的内置对象arguments

    function add(a,b){
    
            console.log(a+b);//3
            console.log(arguments.length);//2
            console.log(arguments);//[1,2]
    
        }
        add(1,2)
    
        ------------------arguments的用处1 ------------------
        function nxAdd(){
            var result=0;
            for (var num in arguments){
                result+=arguments[num]
            }
            alert(result)
    
        }
    
        nxAdd(1,2,3,4,5)
    
    //     ------------------arguments的用处2 ------------------
    
        function f(a,b,c){
            if (arguments.length!=3){
                throw new Error("function f called with "+arguments.length+" arguments,but it just need 3 arguments")
            }
            else {
                alert("success!")
            }
        }
    
        f(1,2,3,4,5)

      7.匿名函数

    // 匿名函数
        var func = function(arg){
            return "tony";
        }
    
    // 匿名函数的应用
        (function(){
            alert("tony");
        } )()
    
        (function(arg){
            console.log(arg);
        })('123')
  • 相关阅读:
    区分git ,github,github桌面版,gitbash、gitshell
    Andrew Ng机器学习课程笔记(四)之神经网络
    Andrew Ng机器学习课程笔记(三)之正则化
    Andrew Ng机器学习课程笔记(二)之逻辑回归
    Andrew Ng机器学习课程笔记(一)之线性回归
    python机器学习实战(四)
    python机器学习实战(三)
    python机器学习实战(二)
    python机器学习实战(一)
    如何去破解所有的window和offices(超级全面)
  • 原文地址:https://www.cnblogs.com/sxh-myblogs/p/7593847.html
Copyright © 2011-2022 走看看