JavaScript BOM对象

发布时间 2023-11-18 12:13:29作者: L_GuoZY

一、window对象

顾名思义window是窗口的意思,也就是浏览器的窗口,所有浏览器都支持window对象,因此所有的JavaScript全局对象,函数,变量都是window对象的成员

全局变量是window对象的属性

全局函数是window对象的方法

子对象:

属性:

方法:

二、location 对象

location 对象用于获得当前页面的地址 (URL),或把浏览器重定向到新的页面

跳转的多种方式

案例:点击链接跳转详情页

第一个页面:

  // search 传递多个参数获取
    var search = window.location.search;
    //获取的?之后的字符串去掉问好,其余的分割
    var arr = search.substring(1).split('&');
    // 方法1 字符串截取
    // for(var i = 0;i<arr.length;i++){
    //     var val = arr[i].substring(arr[i].indexOf('=')+1);
    //     console.log(val);
    // }

    //方法2 字符串分割
    for(var i = 0;i<arr.length;i++){
        console.log(arr[i].split('=')[0]);
        console.log(arr[i].split('=')[1]);
    }

搜索框传参

第二个页面

<style>
        .box{
            display: flex;
        }
        .box div{
            width: 200px;
            height: 200px;
            border: 1px solid red;
        }
    </style>
</head>
<body>
    <div class="box">
        <a href="./3-detail.html?product_id=1001">
            <div>小米</div>
        </a>
        <a href="./3-detail.html?product_id=1002">
            <div>红米</div>
        </a>
    </div>

第三个页面    根据传参渲染数据

<div id="concent">
        详情页
    </div>
    <script>
        var goods = {
            code:200,
            data:[
                {
                id:1001,
                goodnames:'小米',
                price:1900,
                nums:100
            },
            {
                id:1002,
                goodnames:'红米',
                price:3900,
                nums:123
            },
            {
                id:1003,
                goodnames:'紫米',
                price:2900,
                nums:11
            }
            ]
        }
        //传递一个参数跳转
        var search = window.location.search;
        if(!search){
            concent.innerHTML = `出问题啦,请刷新试试`
        }else{
            var id = search.split('=')[1];
            var data = goods.data;
            var str = '';
            for(var i = 0;i<data.length;i++){
                if(data[i].id == id){
                    str += `<p>商品名称${data[i].goodnames}</p>
                    <p>商品名称${data[i].price}</p>
                    <p>商品名称${data[i].nums}</p>`
                }

            }
            concent.innerHTML = str;
        }

三、history  对象

history对象是JavaScript中的一种默认对象,该对象可以用来存储客户端浏览器窗口最近浏览过的历史网址。通过History对象的方法,可以完成类似于浏览器窗口中的前进、后退等按钮的功能

history.go(0)  刷新页面

四、navigator对象

navigator对象,也称为浏览器对象,该对象包含了浏览器的整体信息,如浏览器名称、版本号等

五、screen对象

screen对象是一个由JavaScript自动创建的对象,该对象的作用主要是描述客户端的显示器的信息,例如屏幕的分辨率、可用颜色数等。screen对象是一个全局对象,该对象中存放的都是静态属性,这些属性值是只读的  

六、浏览器url的解密与加密

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。   加密

decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。