zoukankan      html  css  js  c++  java
  • js对象属性与Bom

    1JavaScript 的对象

    1.1字符串

    1.2Array对象

    1.3Date对象

    1.4Math对象

    1.5Function对象(重点)

    2 Bom对象

    1   JavaScript对象

    在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String、Math、Array、Date、RegExp都是JavaScript中重要的内置对象,在JavaScript程序大多数功能都是基于对象实现的。

    1.1字符串对象

    字符串对象创建2种方法:

     //字符串创建的方法
    //       var s='hello'
    //        var s1=new String('hello')

    字符串对象的属性和函数(只有length是属性其余都是方法):

    //属性和方法 一个属性是length其余都是方法
            var s='helloworld'
    //        console.log(s.length)//包括字符串中的空格
    //        console.log(s.toUpperCase())//把字符串变成大写
    //        console.log(s.trim()) //去掉字符串两边的空格
    //        console.log(s.charAt(4))//通过索引找元素
    //        console.log(s.indexOf('l'))//通过字符找索引(找到第一个)
    //        console.log(s.lastIndexOf('h'))//通过字符找最后一个出现的字符的索引
    //        console.log(s.match('hehh'))//返回的是匹配到的字符串,如果没有返回的是null
    //        console.log(s.search('world'))//返回的是匹配到的字符串,出现的索引
    //       res=s.substr(1,8)
    //        console.log(typeof res)//返回的是截取到的字符串,1 是开始的索引,8是截取的长度。
    //       res=s.substring(1,4)
    //        console.log(typeof res)//返回的是截取到的字符串,1是开始索引,4取不到。又叫顾头不顾尾
    //        console.log(s.slice(1,4))//切片返回的是字符串,也是顾头不顾尾。
    //        res=s.split('w')
    //        console.log(typeof res)
    //        console.log(res[0],res[1])//返回的是数组类型,python中返回的列表
            console.log(s.replace('l', 'fuck'))//替换一个函数   只能替换第一个字母,python中可以全部替换
    //        console.log(s.concat('99999'))//拼接字符串

    1.2Array对象

    创建数组的三种方式:

    //数组对象的创建三种方式
    //        创建方式一
    //        var arr=[11,22,33]
            //创建方式二
    //        var arr=new Array(11,22,33)
            //创建方式三
    //        var cnweek=new Array(7)
    //            cnweek[0]='星期日'
    //            cnweek[1]='星期一'
    //            cnweek[2]='星期二'
    //            cnweek[3]='星期三'
    //            cnweek[4]='星期四'
    //            cnweek[5]='星期五'
    //            cnweek[6]='星期六'

    创建二维数组:

    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";

    数组的属性和方法:

    join方法:

    数组方法
    //        ss=['jaljgljal']
    //        var arr=[11,22,33,88,2];
    //        console.log(arr[2]);
    //        join方法
    //          ret=arr.join('-')
    //        console.log(ret)

    cocat方法:

     //concat方法
    //        var a=[2,4]
    //        console.log(a.concat(arr))
    //        console.log(a.toString())//变成字符串

    reverse sort方法:

    //reverse sort 方法
            var arr=[11,22,33,88,2];
    //        console.log(arr.reverse())//翻转排序
    //        console.log(arr.sort())//按照acci码值进行排序[11,2,22,33,88]
    //        console.log(arr.sort(foo1))//这种方法可以按照大小排序[2,11,22,33,88]
            //方法一
    //        function  foo(x,y) {
    //            if(x>y){
    //                return 1
    //            }
    //            else  if(x<y){
    //                return -1
    //            }
    //            else {
    //                return 0
    //            }
    //
    //        }
    //方法二
    //        function foo1(x,y){
    //            return x-y
    //        }

    slice方法:

    slice
    //             var arr=[11,22,33,88,2];
    //             console.log(arr.slice(1,3))//得到的结果[22,33]

    删除数组

        //x. splice(start, deleteCount, value, ...)
    
    //使用注解
    
    //x代表数组对象
    //splice的主要用途是对数组指定位置进行删除和插入
    //start表示开始位置索引
    //deleteCount删除数组元素的个数
    //value表示在删除位置插入的数组元素
    //value参数可以省略
    //        var a=[1,2,3,4,5,6,7]
    //        a.splice(1,2)
    //        console.log(a)//[1,4,5,6,7]
    //        console.log(a.toString(),typeof a)
    //        a.splice(1,0,2,3)
    //        console.log(a.toString())//[1,2,3,4,5,6,7]

    push pop方法

     //push 和pop的用法这两个方法模拟的是一个栈操作
    
    //x.push(value, ...)  压栈
    //x.pop()             弹栈
    //使用注解
    //
    //x代表数组对象
    //value可以为字符串、数字、数组等任何值
    //push是将value值添加到数组x的结尾
    //pop是将数组x的最后一个元素删除
    //            var a=[1,2,3,4,5,6,7]
    //        ret=a.push(2,3)
    //        console.log(ret)//9
    //        console.log(a)//[1,2,3,4,5,6,7,2,3]
    //        ret1=a.pop()
    //        console.log(ret1)//pop 的值
    //        console.log(a)//去掉最后一个数值

    unshift shift方法

         //x.unshift(value,...)
    //x.shift()
    //使用注解
    
    //x代表数组对象
    //value可以为字符串、数字、数组等任何值
    //unshift是将value值插入到数组x的开始
    //shift是将数组x的第一个元素删除
            var arr=[1,2,3,4]
            console.log(arr.unshift(4,5))
            console.log(arr)//[4,5,1,2,3,4]
            ret=arr.shift()
    
    
            console.log(ret)//[4]
            console.log(arr)//[5,1,2,3,4]
     js中数组的特性
    //java中数组的特性, 规定是什么类型的数组,就只能装什么类型.只有一种类型.
    //js中的数组特性1: js中的数组可以装任意类型,没有任何限制.
    //js中的数组特性2: js中的数组,长度是随着下标变化的.用到多长就有多长.

    1.3Date对象
    创建形式
    var day=new Date()
    Date对象的方法:
    var day=new Date()
    //        console.log(day)
    //        console.log(day.toString())//变成字符串
    //        console.log(day.getDate())  //几号
    //        console.log(day.getDay())//周几
    //        console.log(day.getFullYear())//四位数的年表示形式
    //        console.log(day.getYear())//从1900开始到现在多少年117
    //        console.log(day.getMonth())//8月要加1月
    //        console.log(day.getTime())//返回累计毫秒(从1970年?1月/1午夜)
    //        console.log(day.getHours())//小时20小时
    //        console.log(day.getSeconds())//从获取秒数
    //        console.log(day.getMinutes())//获取分钟数

    拼接日期:

        " 2012-12-12 12:12 星期三 "
    //拼接日期
    //        var date=new Date()
    //        function  foo(y) {
    //          var  year=y.getFullYear()
    //             var month=y.getMonth()
    //          var  day=y.getDate()
    //          var   hours=y.getHours()
    //           var  minth=y.getMinutes()
    //           var weeked=y.getDay()
    //            var ss=['星期日','星期一','星期二','星期三','星期四']
    //           return  year+"-"+cc(month+1)+'-'+day+' '+hours+':'+minth+' '+ss[weeked]
    //
    //        }
    //        function  cc(x)  {
    //            if(x<10) {return '0'+x}
    //            else {return(x)}
    //
    //        }
    //        console.log(ss)
    //    console.log(foo(date))

    三元运算符:

      var i=+'1'
    //        console.log(i)//1
    //        console.log(typeof i )//num
    //        console.log(2>1?2:1)//三元运算符

    设置日期与时间

    //设置日期和时间
    //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秒

    日期与时间转换:

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

    1.4Math对象

    console.log(Math.max(11,22,66,99,789))
    //        console.log(Math.min(11,22,66,99,789))
    //        console.log(Math.ceil(89.4656513646))//向上取整
    //        console.log(Math.floor(89.4656513646))//向下取整
    //        console.log(Math.exp(0))//以e为底的指数
    //        console.log(Math.pow(2,3))//幂
            var  num=Math.random();//取0-1之间的数不包括1
            num=num*100;
            num=Math.round(num)//四舍五入
            console.log(num)

    1.5Function对象

    函数的定义:

    function 函数名 (参数){
<br>    函数体;
        return 返回值;
    }

    功能说明:

    可以使用变量、常量或表达式作为函数调用的参数
    函数由关键字function定义
    函数名的定义规则与标识符一致,大小写是敏感的
    返回值必须使用return
    Function 类可以表示开发者定义的任何函数。

    function  foo() {
    //            return console.log('ok')
    //        }
    //        var ret=foo()
    //        console.log(ret)

    注:js的函数加载执行与python不同,它是整体加载完才会执行,所以执行函数放在函数声明上面或下面都可以:

    <script>
        //f(); --->OK
    
        function f(){
            console.log("hello")
    
        }
    
        f() //----->OK
    </script>

    function对象的调用:

    function func1(a,b){
    
        alert(a+b);
    }
    
        func1(1,2);  //3
        func1(1,2,3);//3
        func1(1);    //NaN
        func1();     //NaN
    
        //只要函数名写对即可,参数怎么填都不报错.
    
    -------------------面试题-----------
     function a(a,b){
        alert(a+b);
    }
    
       var a=1;
       var b=2;
       a(a,b)

    内置对象:arguments

    function  add() {
    //            var sum=0;
    //            for (var i=0;i<arguments.length;i++)
    //            { console.log(arguments[i])
    //                sum+=arguments[i]
    //            }
    //            for(i in arguments) {//法二
    //                sum+=arguments[i]
    //            }
    //            return sum
    //        }
    //
    //        ret=add(5,6,9,2)
    //        console.log(ret)

    匿名函数

     (function(arg){
            console.log(arg);
        })('123');
    (function(){
            alert("tony");
        } )();

    2 Bom对象

    window对象

    所有浏览器都支持 window 对象。
    概念上讲.一个html文档对应一个window对象.
    功能上讲: 控制浏览器窗口的.
    使用上讲: window对象不需要创建对象,直接使用即可.
    alert()            显示带有一段消息和一个确认按钮的警告框。
    confirm()          显示带有一段消息以及确认按钮和取消按钮的对话框。
    prompt()           显示可提示用户输入的对话框。
    
    open()             打开一个新的浏览器窗口或查找一个已命名的窗口。
    close()            关闭浏览器窗口。
    
    setInterval()      按照指定的周期(以毫秒计)来调用函数或计算表达式。
    clearInterval()    取消由 setInterval() 设置的 timeout。
    setTimeout()       在指定的毫秒数后调用函数或计算表达式。
    clearTimeout()     取消由 setTimeout() 方法设置的 timeout。
    scrollTo()         把内容滚动到指定的坐标。

     function foo() {
              var date=new Date();
              var date=date.toLocaleString();
            
              var ele=document.getElementById("timer");
              ele.value=date;
          }
    
          var ID;
          function begin() {
    
               if (ID==undefined){
                     foo();
                     ID=setInterval(foo,1000);
    
                     var ele=document.getElementById("show");
                     ele.disabled="disabled"
                }
    
             
          }
          
          
          function end() {
              clearInterval(ID);
              ID=0;
          }
  • 相关阅读:
    6.素数和(素数的判断)
    6.素数和(素数的判断)
    5.明明的随机数(桶排序经典例题)
    5.明明的随机数(桶排序经典例题)
    5.明明的随机数(桶排序经典例题)
    5.明明的随机数(桶排序经典例题)
    Algs4-1.2.11根据Date的API实现一个SmartDate类型
    Algs4-1.2.10编写一个类VisualCounter
    Algs4-1.2.9使用Counter统计BinarySearch检查的key个数
    Algs4-1.2.8引用型变量赋值-数组复制
  • 原文地址:https://www.cnblogs.com/1a2a/p/7594636.html
Copyright © 2011-2022 走看看