JavaScript之BOM对象(JS函数作用域、window、history、location对象)

别再乱选WiFi信道了!手把手教你用WiFi Analyzer优化2.4G/5G家庭网络(附避坑指南) 本文详细介绍了如何使用WiFi Analyzer工具优化家庭WiFi网络,解决2.4GHz和5GHz信道的冲突问题。通过分析信道拥堵原因、提供安装使用指南及优化策略,帮助用户显著提升网络速度与稳定性,特别适合密集住宅区和多设备家庭。 阅读详情


本篇文章来简单介绍一下JS作用域,以及BOM对象中的三个基础对象,分别是window对象、history对象和location对象。

一、JS作用域

1、函数嵌套作用域

	//函数作用域
    var place="Beijing";  //外部定义的变量
    function outer()
    {
        var place="Chengdu";  //outer函数下的重新定义
        function inner()
        {
            var place="Guangzhou";  //inner函数下的定义
            console.log(place);
        }
        inner();
    }
    // //调用outer函数,同时会执行inner函数
    outer();

执行结果:
Guangzhou

2、函数多调用

	var name="路飞";
    function bar()
    {
        console.log(name);
    }
    function func()
    {
        var name="索隆";
        return bar;
    }
    var ret=func();  //将func函数执行的返回结果赋值给ret变量,即ret将代表bar函数
    ret();  //调用ret函数,即bar函数
    //又因为bar函数的作用域在外部,与它同级的name变量值为“路飞”

执行结果:
路飞

二、window窗口

1、BOM简介
BOM(浏览器对象模型),可以对浏览器窗口进行访问和操作。使用 BOM,开发者可以移动窗口、改变状态栏中的文本以及执行其他与页面内容不直接相关的动作。使 JavaScript 有能力与浏览器“对话”。

2、window对象方法汇总

  • alert() 显示带有一段消息和一个确认按钮的警告框。
window.alert("欢迎访问!");

1

  • confirm() 显示带有一段消息以及确认按钮和取消按钮的对话框。
var ret= window.confirm("您确定要访问吗?");  //由用户做出选择,因此有一个返回值
    console.log(ret);

2

  • prompt() 显示可提示用户输入的对话框。
	var ret= window.prompt("您的访问指令:");  //要去用户输入内容,在控制台显示
    console.log(ret);

3

  • open() 打开一个新的浏览器窗口或查找一个已命名的窗口。(不常用)
  • close() 关闭浏览器窗口。(不常用)
  • setInterval() 按照指定的周期(以毫秒计)来调用函数或计算表达式。
  • clearInterval() 取消由 setInterval() 设置的 timeout。
	setInterval(func,1000);  //表示每隔1000毫秒(1秒)执行一次函数func()
    function func()
    {
        console.log("Hello JavaScript!");
    }

4
可以看到这个地方会一直有"Hello JavaScript!"的出现。
下面是由setInterval和clearInterval实现的动态时间更新小案例…
JS(<script>标签内的)代码:

	showTime();
    function showTime()
    {
        var current_time=new Date().toLocaleString();  //获取当前时间并将其转化成字字符串显示
        // alert(current_time);
        var ele=document.getElementById("id1");  //获取id1这个标签的内容
        ele.value=current_time;  //将获取的id1标签的内容设置为输入框的值,实现动态更新时间
    }

	var click1
    function begin()
    {
        if(click1==undefined)  //防止多个click串行
        {
            showTime();  //实现无延迟效果
            click1= setInterval(showTime,1000);  //实现一秒更新一次时间
        }
    }

    function end()
    {
        clearInterval(click1);  //清除定时间隔
    }

外部再加两个标签:

<input type="text" id="id1" onclick="begin()">
<button onclick="end()">停止!</button>  <!--  绑定一个end函数 -->

5

  • setTimeout() 在指定的毫秒数后调用函数或计算表达式。
  • clearTimeout() 取消由 setTimeout() 方法设置的 timeout。
	function func()
    {
        console.log("别点我了!");
    }
    var c= setTimeout(func,3000);  //三秒钟之后只执行一次
    //清除setTimeout 的内容
    // clearTimeout(c);

scrollTo() 把内容滚动到指定的坐标。(少用)

三、history对象

1、简介
History 对象包含用户(在浏览器窗口中)访问过的 URL。
History 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。
2、history对象的方法

  • back() 加载 history 列表中的前一个 URL。
  • forward() 加载 history 列表中的下一个 URL。
  • go() 加载 history 列表中的某个具体页面。

3、测试代码
history1:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<a href="JS之history2.html">通往history2</a>
<button onclick="history.forward()"> >>>>>>>> </button>
<script>

</script>
</body>
</html>

history2:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<button onclick="history.back()">Back</button>
</body>
</html>

这样就可以实现一个基本的前进和返回的效果(这个其实也不太常用)

四、location对象

1、简介
Location 对象包含有关当前 URL 的信息。
Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。

2、location下的方法

  • location.assign(URL)
  • location.reload()
  • location.replace(newURL)//注意与assign的区别

3、测试代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<button onclick="f()">点我!</button>

<script>
    function f1()
    {
        // location.assign("www.baidu.com");  //默认跳转的页面
        // location.reload();  //刷新当前页面
        location.replace("www.baidu.com");  //替换当前页面
        //assign可以后退,replace不行
    }
</script>
</body>
</html>
yolov5深度剖析+源码debug级讲解系列(一) yolov5的架构和源码debug准备 前言 前段时间分析了yolov3的源码,这次想带着小伙伴一起把yolov5完全掌握。博主还是保持着一贯的风格,依旧采用debug级别的源码剖析。目的就是让大家可以通过一个系列的文章就把yolov5的架构、设计理念和每一行源码都弄懂。只要小伙伴可以花时间把这个系列读完,就会对yolov5的理解有所提升。 去年参加了kaggle的小麦检测比赛,yolov5在比赛的中段开始呈现霸榜趋势,超越了efficientdet。虽然最后yolov5因为权限等某些问题被kaggle官方禁用了,但是仍然体现出了其强大的能力。值 阅读详情

相关推荐

欢乐熊大话蓝牙知识16:蓝牙是怎么找设备的?扫描与广播的“对话内幕”

蓝牙是怎么找设备的?扫描与广播的对话技术介绍

hoony123的博客 1381

BOM对象

BOM:Brower Object Model,指的是浏览器对象模型。 作用:操作浏览器窗口及窗口上的控件,实现用户和页面的动态交互。 浏览器对象:浏览器提供的一系列内置对象的统称。 BOM浏览器对象模型:各内置对象之间按照某种层次组织起来的模型的统称。 window对象是BOM的顶层(核心)对象,其他的对象都是以属性的方式添加到window对象下,也可称为window的子对象。

qq_42839746的博客 2370

@transactional滥用导致数据源连接池耗尽问题

@transactional滥用导致数据源连接池耗尽问题

qq_43205267的博客 1200

21.BOM的理解,常见的BOM对象你了解哪些?

了独立于内容与浏览器窗口进行交互的对象 其作用就是跟浏览器做一些交互效果,比如如何进行页面的后退,前进,刷新,浏览器的窗口发生变化,滚动条的滚动,以及获取客户的一些信息如:浏览器品牌版本,屏幕分辨率 浏览器的全部内容可以看成DOM,整个浏览器可以看成BOM。区别如下: 二、window Bom的核心对象是window,它表示浏览器的一个实例 在浏览器中,window对象有双重角色,即是浏览器窗口的一个接口,又是全局对象 因此所有在全局作用域中声明的变量、函数都会变成window对象的属性和方

kleinBlue.的博客 1025

LAMMPS实战指南 - 从in文件到分子动力学模拟的完整流程解析

本文详细解析了LAMMPS分子动力学模拟的完整流程,从理解in文件的核心作用与基础结构开始,逐步指导如何创建模拟体系、选择势函数、进行能量最小化与初始化,并深入讲解了NVT/NPT系综弛豫与生产模拟的关键步骤。文章还提供了常见问题的避坑指南与实战技巧,帮助初学者快速掌握从编写in文件到成功运行模拟的全过程。

weixin_28365523的博客 395

Deepfake检测模型-PyDeepFakeDet项目复现实验报告-深度学习

该实验是对于https://github.com/wangjk666/PyDeepFakeDet模型的复现。PyDeepFakeDet 是一款集成的、可扩展的 Deepfake 检测工具。目标是提供最先进的 Deepfake 检测模型以及用于在常用 Deepfake 数据集上训练和评估新模型的接口。

一位不是很硕的鉴伪方向硕士 5494

JavaScript——函数、事件与BOM对象

JavaScript——函数、事件与BOM对象

雷神乐乐的博客 1016

新手必看!一步步教您如何获取可用的D音Cookie(为什么我复制的D音Cookie无法正常使用?)

新手必看!一步步教您如何获取可用的抖音Cookie(为什么我复制的抖音Cookie无法正常使用,无法下载无水印视频?)

XiaoqiangClub的博客 1491

前端 —— JavaScript 基础篇 19 --- BOM (window )对象

BOM Browser Object Model 浏览器对象模型 核心对象是window BOM > DOM BOM包含DOM window 对象 1 js访问浏览器窗口的接口 2 全局作用域下的变量或者函数 都会成为window对象的属性或方法 window常见事件 onload 窗口加载(文档内容完全加载完成)完毕 window.onload = function() {} 或者onload = function() {} console.dir(wi...

宁静致远 368

“华为杯”研究生数学建模竞赛2020年-【华为杯】D题:无人机集群协同对抗(附获奖论文和MATLAB代码实现)

1.问题重述摘 要:本文针对非线性约束条件下红蓝双方无人机集群协同对抗的最优规划问题,结合贪婪队形、非线性规划、内点法、蒙特卡洛方法和全联立正交配置有限元法,构建了无人机集群协同对抗推演模型。,构建了。我们综合考虑了,和。首先分析红方在集群约束下的贪婪队形和拦截策略,然后我们基于内点法联合MATLAB和AMPL编程求解蓝方突防的非线性规划解,最后基于蒙特卡洛法对整个蓝方突防过程进行推演,得到突防概率图。通过推演,我们提出了两块的区域作为所求区域,并对蓝方的最优突防策略进行分析。

getusushu的博客 1550

Halcon那些事:Halcon非常核心的1个概念reduce_domain算子的理解和1个详细的使用示例

Reduce是减少的意思。并不是真的去裁剪图像,而是定义一个“感兴趣的区域(Region of Interest, ROI)”。后续的图像处理算子将只在这个定义的区域内有效,区域外的像素将被忽略。在一张白纸(完整图像)上放一张镂空的纸板(Domain)。我们后续的绘画(图像处理操作)只会透过镂空的部分影响到下面的白纸。镂空纸板之外的部分保持不变,也不会被处理。关键步骤:使用ReduceDomain,将图像的域限制为ROI区域,图像在原来图像基础上存在图像区域。

十多年IT经验,专注机器视觉,智能制造半导体行业 577

BOM的基础

BOM的基础

g234567582的博客 726

S7-200SMART通过表格指令实现模拟量信号滑动平均值滤波的具体方法

S7-200SMART通过表格指令实现模拟量信号滑动平均值滤波的具体方法

Robot_PLC_HMI_Automation 6724

BOM和DOM

函数的作用域和闭包 作用域 js的作用域和py相似,if while等控制语句并没有自己作用域;而函数是有自己的作用域的; if(1==1){ vars=12; } console.log(s);//12// ---------------------- functionf(){ vartemp=666; } f(); console...

weixin_30420305的博客 111

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

JavaScript 的 BOM 对象(window 对象、History对象、Location 对象

大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】一个人可以走的很快,但一群人才能走的更远。

2401_84023579的博客 676

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【BOM笔记】基本概述、window对象常见事件、定时器、JS执行机制、location/navigator/history对象

文章目录1 BOM概述1.1 什么是BOM1.2 BOM的构成2 window 对象的常见事件2.1 窗口加载事件2.2 调整窗口大小事件3 定时器3.1 `setTimeout()` 定时器3.2 `setInterval()` 定时器3.3 this4 JS 执行机制4.1 JS 是单线程4.2 同步和异步4.3 JS 执行机制5 `location` 对象5.1 属性5.2 方法6 `navigator` 对象7 `history` 对象 1 BOM概述 1.1 什么是BOM BOM(Browser

waski的博客 1111

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

前端javascript的BOM对象知识精讲

BOM:Browser Object Model,浏览器对象模型,提供一系列与浏览器相关的信息。 浏览器对象模型(Browser Object Model (BOM)) 不存在浏览器对象模型(BOM)的官方标准。 现代的浏览器已经(几乎)实现了 JavaScript 交互相同的方法和属性,因此它经常作为 BOM 的方法和属性被提到。 BOM对象:分为window对象和window子对象(screen对象,location对象,navigator对象,history对象)。

景天科技苑 1762

JS(JavaScript)的BOM操作

JavaScript共三部分组称:ECMAScript核心语法、DOM文档对象模型、BOM浏览器对象模型BOM就是浏览器对象模型以下是BOM的结构图。

感谢阅读 1843

前端入门一之BOM、window对象常见事件、定时器、JS执行机制、location对象、navigatior对象、history对象

BOM :是浏览器对象模型对象核心是windowDOMBOM文档对象模型浏览器对象模型DOM就是把文档当中一个对象把浏览器当作一个对象DOM的顶级对象是documentBOM的顶级对象是 windowDOM主要学习的是操作页面的元素BOM学习的是浏览器交互的一些对象兼容性好兼容性较差BOM包含DOMwindow对象是浏览器的顶级对象,它具有双重角色。

羊小猪~~的博客 1540

JavaScript 的 BOM 对象(window 对象、History对象、Location 对象、Navigator 和 screen 对象)

目录 一、概述 二、window 对象 1、常用属性(对象) 2、常用方法 三、History 对象 1、常用属性 2、常用方法 四、Location对象 1、常用属性 2、常用方法 五、Navigator 和 screen 对象 一、概述 JS 的 BOM 对象就是浏览器对象模型,用于控制浏览器的行为,它提供了独立于内容与浏览器窗口进行交互的对象,BOM是一个分层结构:...

ONESTARの博客 2678

Javascript学习(七)--Web APIs(window对象(BOM,延时函数,location对象,navigator对象,history对象),本地存储,综合案例)

本文介绍了JavaScript中的BOM对象和本地存储技术。BOM部分详细讲解了window对象及其属性和方法,包括定时器、JS执行机制(同步/异步)、location、navigator和history对象的使用。本地存储部分重点介绍了localStorage和sessionStorage的区别与用法,以及如何存储复杂数据类型(使用JSON转换)。最后通过学生信息表案例,演示了如何实现数据的增删改查和本地持久化存储。全文涵盖了前端开发中常用的浏览器对象操作和数据存储技术,为构建交互式网页应用提供了实用解决

m0_60430540的博客 1292

javaScript BOM简介

4.1.1、BOM简介BOM(browser Object)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。BOM由一系列的对象构成,并且每个对象都提供了很多方法与属性BOM缺乏标准,JS语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分4.1.2、DOM与BOM的区别类别DOMBOM1文档对象模型浏览器对象模型2DOM是把文档当做一个对象来看待把浏览器当做一个对象来看待3。

2403_88615647的博客 1626

bom操作(window、定时器、js执行机制、location对象、navigator、history)

BOM(browser Object)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。BOM由一系列的对象构成,并且每个对象都提供了很多方法与属性BOM缺乏标准,JS语法的标准化组织是ECMA,DOM的标准化组织是W3C,BOM最初是Netscape浏览器标准的一部分。

2503_90189180的博客 1032

JavaScript详解十八 ——BOM

由于历史原因,navigator对象中的大部分属性都已经不能帮助我们识别浏览器了,一般我们只会用userAgent 来判断浏览器的信息,userAgent是一个字符串,这个字符串中包含有用来描述浏览器信息的内容,不同的浏览器会有不同的userAgent。定义在全局作用域中的变量,函数都会变成window对象的属性和方法,在调用的时候,可以省略window,前面学习的对话框都属于window对象方法,如alert(),prompt()等。比如:我们要烧水煮饭,等水开了(10分钟后),再去切菜,炒菜。

奋斗的小前端 1793

Bom操作(window、定时器、js执行机制、location对象、navigator、history)

由于历史原因,navigator对象中的大部分属性都已经不能帮助我们识别浏览器了,一般我们只会用userAgent 来判断浏览器的信息,userAgent是一个字符串,这个字符串中包含有用来描述浏览器信息的内容,不同的浏览器会有不同的userAgent。定义在全局作用域中的变量,函数都会变成window对象的属性和方法,在调用的时候,可以省略window,前面学习的对话框都属于window对象方法,如alert(),prompt()等。比如:我们要烧水煮饭,等水开了(10分钟后),再去切菜,炒菜。

奋斗的小前端 981
上一篇: 一篇文章带你快速入门JavaScript(自学者福利)
下一篇: JavaScript之DOM对象(Node结点属性、导航属性、页面查找)
鸿蒙Next
鸿蒙Next 优质创作者: python技术领域 优质创作者: python技术领域
博客等级 码龄7年 2万+粉丝 300原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蒙Next

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值