热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JavaScript系列(一):浏览器及内核介绍

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软

小编热衷于收集整理资源,记录踩坑到爬坑的过程。希望能把自己所学,实际工作中使用的技术、学习方法、心得及踩过的一些坑,记录下来。也希望想做软件测试的你一样,通过我的分享可以少走一些弯路,可以形成一套自己的方法,并应用到实际中。


目录

前言

一、Web基础知识

1.浏览器及内核介绍

2.网页VS网站

二、Javascript介绍

1.简介

2.组成

3.作用

4.编写工具

结语




前言

Javascript作为最流行的脚本语言之一,这门语言广泛应用于Web。假如要把JS作一个比喻,我觉得她是一位强大的实干家。在Web自动化测试框架中通过JS来实现对Web元素的操作,在测试开发中是必备的前端语言。

如果大家想系统全面的学习测试技术,成为资深测试,推荐大家都要学习Javascript这门语言。它很简单,学会用只要几分钟,它又很复杂,掌握它要很多年。接下来我会陆续给大家推送Javascript系列,感兴趣的朋友一起跟我的随脚步 玩转JS。


一、Web基础知识


1.浏览器及内核介绍

(1) 浏览器介绍

浏览器就是我们平时用来上网查看网站、浏览网页的工具软件,主要功能就是向服务器发出请求,在浏览器窗口中展示网络资源。这里所说的资源一般是指 HTML 文档,也可以是 PDF、图片或其他的类型,资源的位置由 URL(统一资源标示符)指定。

浏览器的核心在于它的内核,浏览器的内核负责取得网页的内容、整理信息,并将最终结果输出到显示器上。浏览器的内核分为:渲染引擎、JS引擎两个部分。内核的不同对于网页的语法解释不同,渲染效果也不尽相同。

​(2) 主流浏览器及内核

浏览器最重要或者说核心的部分是Rendering Engine,大概翻译为“渲染引擎”,不过我们一般习惯称之为“浏览器内核”,负责对网页语法的解释并渲染网页。所以,通常所谓的浏览器内核也就是浏览器所采用的渲染引擎,渲染引擎决定了浏览器如何显示网页的内容以及页面的格式信息。

目前主流浏览器,是有一定市场份额且有自己独立研发内核的浏览器份额排行,看看由statcounter提供的数据,有图有真相。😘

​按照2022年排行榜,列举一些主流浏览器的内核:


浏览器

内核

Chrome

webkit/blink

Safari

webkit

Edge

Chromium/blink

Firefox

Grecko

Opera

presto

IE

trident

以谷歌浏览器为例,自行查看浏览器的内核方法:打开开发者工具->Console->在Console下输入navigator,回车即可查看浏览器相关信息,如图所示,谷歌浏览器的appVersion 即显示浏览器内核。


2.网页VS网站

(1) 定义

网站:包含前后端服务的可跳转的多个网页。

网页:由结构、样式、行为构成的单独页面。

(2) 区别及联系

网站和网页是包含关系,一个网站包含多个网页(页面)。一般我们上网浏览的都是某个网站中的某个页面。

网站必须由3部分组成,分别是页面前端显示,后台逻辑和数据存储。


  • 前端页面:前端需要掌握最基本的HTML编程技术,CSS样式布局处理,以及Javascript脚本的编写。

  • 后台逻辑:后台逻辑一般指的是Web开发框架,Web开发框架每种语言都有好多种框架。比如Python语言的Web开发框架,有Django,Flask,Tornado等。

  • 数据存储:数据存储,数据存储一般适合开发框架结合在一起的,Web框架里面包含了数据存储等操作。


二、Javascript介绍


1.简介


  • JS诞生于1995年 ,开发者希望它看起来像Java,因此取名为Javascript。两者的关系仅仅是名字相近,语法风格实际上与Self及Scheme较为接近。

  • JS是一种解释型语言,它不需要编译。以交互式和动态的方式呈现网页,允许页面对事件做出反应,展示特殊效果。

  • JS的出现主要是用于处理网页中的前端验证,所谓的前端验证,就是指检查用户输入的内容是否符合一定的规则。比如: 用户名的长度、密码的长度 、邮箱的格式等。


2.组成

完整的Javascript实现包含以下3个部分:


  • ECMAscript:描述JS的基本语法和基本对象;

  • DOM:文档对象模型,处理网页内容的API;

  • BOM:浏览器对象模型,与浏览器进行交互的API;


3.作用

(1) 验证用户输入的内容

JS可以对用户输入的数据进行验证。例如在用户注册信息页面时,要求用户输入确认密码,以确认用户输入的密码是否准确。如果用户在“确认密码”文本框中输入的信息与“密码”文本框中输入的信息不同,将弹出相应的提示信息。

​(2) 实现动画效果

在浏览网页时,经常会看到一些动画效果,使页面显得更加生动。使用Javascript脚本语言也可以实现动画效果。例如,在页面中实现太阳旋转的动画效果。

​(3) 实现动态窗口的效果

打开网页时经常会看到一些浮动的广告窗口,可以通过Javascript脚本语言来实现如图所示的广告窗口。

(4) 实现文字特效

使用Javascript脚本语言可以使文字生成多种特效,例如,使文字发生变化。

​(5) 实现地理定位

使用Javascript脚本语言可以实现地理定位。


4.编写工具

(1) 常用编辑器

由于JS程序可以嵌入HTML文件中,因此可以使用任何一种能编辑HTML文件的工具软件作为JS的文本编辑器,如Windows中的记事本、写字板、Adobe Dreamweaver、MicrosoftFrontPag、VsCode、WebStorm、Sublime等。

选择哪款JS文本编辑器,可能最终取决于你的喜好、项目类型,和扩展支持等相关条件。但无论哪种编辑器,只要能熟练使用,快速的解决问题,提高工作效率并提高生产力,就是适合你的强有力编辑工具。

(2) 在Chrome浏览器运行与调试

我们可以在 Chrome 浏览器上进行 Javascript 代码的运行与调试,对于前端调试代码非常方便。

①在 Chrome 浏览器中可以通过按下 F12 按钮,或者右击页面选择"检查"来开启开发者工具。

​②打开开发者工具后,我们可以在 Console 窗口调试 Javascript代码,输入我们要执行的代码console.log("ITester"),按回车后执行。

​③我们也可以在 Chrome 浏览器中创建一个脚本来执行,开发者工具中点击 Sources 面板,选择Snippets 选项卡,然后选择 Create new snippet 来新建一个脚本文件,在右侧窗口输入要执行的代码,保存后右击文件名,选择 "Run" 执行代码。


结语

感谢每一个认真阅读我文章的人!!!

如果下面这些资料用得到的话可以直接拿走:

1、自学开发或者测试必备的完整项目源码与环境

2、测试工作中所有模板(测试计划、测试用例、测试报告等)

3、软件测试经典面试题

4、Python/Java自动化测试实战.pdf

5、Jmeter/postman接口测试全套视频获取

6、Python学习路线图

​重点:配套学习资料和视频教学

那么在这里我也精心准备了上述大纲的详细资料包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。需要的朋友


推荐阅读
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • css元素可拖动,如何使用CSS禁止元素拖拽?
    一、用户行为三剑客以下3个CSS属性:user-select属性可以设置是否允许用户选择页面中的图文内容;user-modify属性可以设置是否允许输入 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了css回到顶部按钮相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • CSS标签、类名和ID选择器的使用区别
    本文讲解了CSS中标签选择器、类名选择器和ID选择器的使用区别,主要包括加空格和不加空格的区别。通过示例代码,说明了加空格表示选择当前节点的后代节点,而不加空格表示一个元素的多个类名不能加空格的规则。 ... [详细]
  • ASP.NET2.0数据教程之十四:使用FormView的模板
    本文介绍了在ASP.NET 2.0中使用FormView控件来实现自定义的显示外观,与GridView和DetailsView不同,FormView使用模板来呈现,可以实现不规则的外观呈现。同时还介绍了TemplateField的用法和FormView与DetailsView的区别。 ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 代理模式的详细介绍及应用场景
    代理模式是一种在软件开发中常用的设计模式,通过在客户端和目标对象之间增加一层中间层,让代理对象代替目标对象进行访问,从而简化系统的复杂性。代理模式可以根据不同的使用目的分为远程代理、虚拟代理、Copy-on-Write代理、保护代理、防火墙代理、智能引用代理和Cache代理等几种。本文将详细介绍代理模式的原理和应用场景。 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
author-avatar
Ymgif影像--阿雅XX_506
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有