热门标签 | 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学习路线图

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

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


推荐阅读
  • 在尝试启动Java应用服务器Tomcat时,遇到了org.apache.catalina.LifecycleException异常。本文详细记录了异常的具体表现形式,并提供了有效的解决方案。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 本文探讨了在UIScrollView上嵌入Webview时遇到的一个常见问题:点击图片放大并返回后,Webview无法立即滑动。我们将分析问题原因,并提供有效的解决方案。 ... [详细]
  • 在项目需要国际化处理时,即支持多种语言切换的功能,通常有两种方案:单个包和多个包。本文将重点讨论单个包的实现方法。 ... [详细]
  • 本文介绍了如何使用Java和PDFBox库根据坐标值对PDF文件进行局部切割的方法。 ... [详细]
  • 深入解析HTML5字符集属性:charset与defaultCharset
    本文将详细介绍HTML5中新增的字符集属性charset和defaultCharset,帮助开发者更好地理解和应用这些属性,以确保网页在不同环境下的正确显示。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • CSS3 @font-face 字体应用技术解析与实践
    在Web前端开发中,HTML教程和CSS3的结合使得网页设计更加多样化。长期以来,Web设计师受限于“web-safe”字体的选择。然而,CSS3中的`@font-face`规则允许从服务器端加载自定义字体,极大地丰富了网页的视觉效果。通过这一技术,设计师可以自由选择和使用各种字体,提升用户体验和页面美观度。本文将深入解析`@font-face`的实现原理,并提供实际应用案例,帮助开发者更好地掌握这一强大工具。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 在拉斯维加斯举行的Interop 2011大会上,Bitcurrent的Alistair Croll发表了一场主题为“如何以云计算的视角进行思考”的演讲。该演讲深入探讨了传统IT思维与云计算思维之间的差异,并提出了在云计算环境下应具备的新思维方式。Croll强调了灵活性、可扩展性和成本效益等关键要素,以及如何通过这些要素来优化企业IT架构和运营。 ... [详细]
  • 七款高效编辑器与笔记工具推荐:KindEditor自动换行功能解析
    本文推荐了七款高效的编辑器与笔记工具,并详细解析了KindEditor的自动换行功能。其中,轻笔记QingBiJi是一款完全免费的记事本软件,用户可以通过其简洁的界面和强大的功能轻松记录和管理日常事务。此外,该软件还支持多平台同步,确保用户在不同设备间无缝切换。 ... [详细]
  • 本文介绍了使用 Python 编程语言高效抓取微博文本和动态网页图像数据的方法。通过详细的示例代码,展示了如何利用爬虫技术获取微博内容和动态图片,为数据采集和分析提供了实用的技术支持。对于对网络数据抓取感兴趣的读者,本文具有较高的参考价值。 ... [详细]
  • 本文详细解析了如何利用Appium与Python在真实设备上执行测试示例的方法。首先,需要开启手机的USB调试功能;其次,通过数据线将手机连接至计算机并授权USB调试权限。最后,在命令行工具中验证设备连接状态,确保一切准备就绪,以便顺利进行测试。 ... [详细]
  • 本文主要介绍关于webstorm,java,jvm的知识点,对【DataGridWebStorm由于SrjdDll64.dll引起的报错】和【】有兴趣的朋友可以看下由【rthnfgxh】投稿的技 ... [详细]
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社区 版权所有