【Js】JS的历史:认识JS的来龙去脉

news/2024/5/19 9:22:50/文章来源:https://blog.csdn.net/m0_59792745/article/details/127023072

文章目录

  • 1 JavaScript 历史
  • 2 JavaScript是什么?
  • 3 JavaScript的作用
  • 4 Html/Css/Js的关系
    • 4.1Html/CSS 标记语言---描述类语言
    • 4.2 Js脚本语言 -- 编程类语言
    • 4.3 执行的区别
  • 5 JS的组成
    • 5.1 ECMAScript
    • 5.2 Dom
    • 5.3 Bom
  • 6 JS书写位置
    • 6.1 行内式
    • 6.2 内嵌式(★)
    • 6.3 外部式
  • 7 JS的输入输出语句

1 JavaScript 历史

  • 布兰登 · 艾奇(Brendan Eich)
  • 1995年,利用10天的时间创造了JavaScript
  • 膜拜大佬
    在这里插入图片描述

2 JavaScript是什么?

  • JavaScript是世界上最流行的语言之一,是一种运行在客户端的脚本语言
  • 脚本语言:不需要编译,运行过程中由Js解释器逐行来进行解释并执行。(并不是执行全部,而是编译一句执行一句)
  • 也可基于Node.js 技术进行服务器端编程

3 JavaScript的作用

  • 表单动态校验(密码强度检测)
  • 网页特效
  • 服务端开发(Node.js)
  • 桌面程序(Electron)
  • App(Cordova)
  • 控制硬件-物联网(Ruff)
  • 游戏开发(cocos2d-js)

4 Html/Css/Js的关系

4.1Html/CSS 标记语言—描述类语言

Html决定网页结构和内容(看到什么),相当于人的身体。

CSS决定网页呈现给用户的模样(好不好看),相当于给人穿衣服、化妆。

4.2 Js脚本语言 – 编程类语言

​ 实现业务逻辑和页面控制,相当于人的各种动作。

4.3 执行的区别

浏览器分为两部分:渲染引擎和JS引擎

  • 渲染引擎:用来解析HTML和CSS,俗称内核,比如Chrome浏览器的Blink,老版本的WebKit。
  • JS引擎: 也称JS解释器。用来读取网页中的JavaScript代码,对其处理后运行,比如Chrome浏览器的V8。浏览器本身不会执行JS代码,而是通过内置的Js引擎来执行JS代码,逐行解释,逐行执行,原因是因为:Js是高级编程语言,计算机只认识机器语言

5 JS的组成

image-20220924110853998

5.1 ECMAScript

ECMAScript是一种由Ecma国际前身为欧洲计算机制造商协会,European Computer Manufacturers Association)通过ECMA-262标准化的脚本程序设计语言。这种语言在万维网上应用广泛,它往往被称为JavaScript或JScript,所以它可以理解为是JavaScript的一个标准,但实际上后两者是ECMA-262标准的实现和扩展。

5.2 Dom

文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口API),它可以动态地访问程序和脚本,更新其内容、结构和www文档的风格(HTML和XML文档是通过说明部分定义的)。

5.3 Bom

BOM(Browser Object Model) 是指浏览器对象模型,是用于描述这种对象与对象之间层次关系的模型,浏览器对象模型提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。BOM由多个对象组成,其中代表浏览器窗口的Window对象是BOM的顶层对象,其他对象都是该对象的子对象。

6 JS书写位置

JS的书写位置有三种,分别为行内式,内嵌式,和外部式

6.1 行内式

类似于CSS中直接在标签上写属性

<input type="button"  onclick="alert('你好哇')" value="点我试试"/>

6.2 内嵌式(★)

这种是最常用的方式

<script type="text/javascript">alert(parseInt("120pppm"))
</script>

6.3 外部式

适合代码量特别大的文件,将js文件分离出去,然后通过Script引入

<script src="my.js"></script>

7 JS的输入输出语句

方法说明归属
alert(msg)浏览器弹出警示框浏览器
console.log(msg)控制台打印输出信息浏览器
prompt(info)浏览器弹出输入框,用户可以输入浏览器

代码举例

弹出输入框:输入年龄,弹出输入的年龄,并在控制台打印

<script type="text/javascript">var age = prompt("请输入你的年龄");age = parseInt(age);alert('您的年龄是:'+age);console.log(age);</script>

image-20220924112441029

image-20220924112453069

image-20220924112510826

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_13101.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity Shader: multi_compile一个文件变幻多个shader

multi_compile 我们在写shader时&#xff0c;经常会出现同一个shader在面对不同的一些需求时&#xff0c;可能需要出现一些局部的变化&#xff0c;比如有些地方需要描边&#xff0c;有些地方不需要描边&#xff0c;由于在shader中不适合使用if&#xff0c;所以最好就是再写一份…

sklearn包使用Extra-Trees和GridSearchCV完成成人死亡率预测

成年人死亡率指的是每一千人中 15 岁至 60 岁死亡的概率&#xff08;数学期望&#xff09;。这里我们给出了世界卫生组织&#xff08;WHO&#xff09;下属的全球卫生观察站&#xff08;GHO&#xff09;数据存储库跟踪的所有国家健康状况以及许多其他相关因素。要求利用训练数据…

Fiddler使用

最近老是使用fiddler工具&#xff0c;用了忘所以特此来记录。先说说fiddler吧&#xff0c;这是一款功能强大的抓包工具&#xff0c;平时可以拿来抓抓小程序的包&#xff0c;直接通关羊了个羊&#xff0c;安装就不说了&#xff0c;都是无脑下一步&#xff0c;提供下地址&#xf…

阿里巴巴面试题- - -多线程并发篇(三十八)

前言:七月末八月初的时候,秋招正式打响,公司会放出大量的全职和实习岗位。为了帮助秋招的小伙伴们,学长这里整理了一系列的秋招面试题给大家,所以小伙伴们不用太过焦虑,相信你们一定能超常发挥,收到心仪公司的Offer~~ 内容涵盖:Java、MyBatis、ZooKeeper、Dubbo、Elast…

商汤AI象棋机器人到底谁在买?北大象棋大师已签收

金磊 衡宇 发自 凹非寺量子位 | 公众号 QbitAI郭晶晶家的象棋家教——没错&#xff0c;就是商汤AI象棋机器人“元萝卜”&#xff08;SenseRobot&#xff09;&#xff0c;近日正式现货发售。从近2个月前开始预售的那刻起&#xff0c;各种讨论就萦绕在它周围&#xff1a;AI象棋机…

非零基础自学Java (老师:韩顺平) 第21章 网络编程 21.3 Socket 21.4 TCP网络通信编程

非零基础自学Java (老师&#xff1a;韩顺平) ✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】 第21章 网络编程 文章目录非零基础自学Java (老师&#xff1a;韩顺平)第21章 网络编程21.3 Socket21.3.1 基本介绍21.4 TCP网络通信编程21.4.1 基本介绍21.4.2 应用案例1 -…

网络法规——知识产权及侵权鉴别学习笔记

一、知识产权概念 《中华人民共和国民法通则》规定&#xff0c;知识产权是指民事权利主体&#xff08;公民、法人&#xff09;基于创造性的智力成果。 1、知识产权分类 知识产权可分为工业产权和著作权。 工业产权 工业产权包括专利、实用新型、工业品外观设计、商标、服务…

随机生成植物生长及舞动算法

几年前写过一套随机树木的生成算法&#xff0c;其中使用了分形和放样建模。那时候还不知道有speedtree这款软件&#xff0c;写的比较粗糙&#xff0c;最近看了speedtree的演示把原算法改进了一下&#xff0c;算是一个speedtree的简化版本。 重构主要是把原先使用递归函…

使用Consul做注册中心简示

基地版同一个地点 不同的风景

JAMA子刊:孕妈妈每天喝半杯咖啡,可能让胎儿发育迟缓

爱心提示本文不仅适用于喜欢咖啡的孕妇&#xff0c;也适用于喜欢茶&#xff08;包括奶茶&#xff09;、巧克力、能量饮料、可乐和其他含有咖啡因的食物或饮料的孕妇。核心要点题目及新发现的相关背景&#xff1b;已知各权威机构对孕期咖啡因摄入量的建议&#xff1b;业主的个人…

Java数据结构之二叉树的基本操作

二叉树的基本操作1 二叉树的基本概念2 二叉树的遍历3 代码实现二叉树的遍历4 代码实现前序、中序、后序查找5 代码实现二叉树指定节点的删除1 二叉树的基本概念 &#xff08;1&#xff09;树有很多种&#xff0c;每个节点最多只能有两个子节点的树就是二叉树。 &#xff08;2&…

[CISCN 2019 初赛]Love Math

<?php error_reporting(0); //听说你很喜欢数学&#xff0c;不知道你是否爱它胜过爱flag if(!isset($_GET[c])){show_source(__FILE__); }else{//例子 c20-1$content $_GET[c];if (strlen($content) > 80) {die("太长了不会算");}$blacklist [ , \t, \r, \n…

【C++11新特性】类的新功能,可变模板参数,包装器

文章目录一、类的新功能1.default2.delete二、可变参数模板1.参数包2.参数包的插入与解析(1)参数包的个数(2)添加参数解析(3)逗号表达式展开(4)emplace_back三、包装器1.function(封装)2.bind(绑定)一、类的新功能 1.default 在继承与多态中&#xff0c;我们介绍了final与ove…

Feign的简单介绍及配置参数

contextId用于区分实例,类似beanName

mysql存储过程的写法

示例表 area_code_2022 &#xff1a; DROP TABLE IF EXISTS area_code_2022; CREATE TABLE area_code_2022 ( code bigint(12) unsigned NOT NULL COMMENT 区划代码, name varchar(128) NOT NULL DEFAULT COMMENT 名称, level tinyint(1) NOT NULL COMMENT 级别1-5,省市…

python识别选中文本

目标&#xff1a;识别鼠标选中区域的文本 be like : 这是我在模拟键鼠操作时遇到的情况&#xff0c;我需要根据某个位置返回的值进行判断&#xff0c;但是只是依赖pyautogui是做不到的。 方法一 经过上网冲浪寻找答案&#xff0c;被告知了此方法&#xff0c;经测试可行 impor…

Django项目想要在 Python Console里面进行操作 报错找不到对应模块

Django项目想要在 Python Console里面进行操作 报错找不到对应模块 问题描述 ModuleNotFoundError: No module named django ’ 问题原因 在进行对 Python console操作 进行管理查询要导入对应的模块&#xff0c;但是和项目中的models.py文件中的 导包引入 冲突了 导致在Py…

可持久化Trie

可持久化指的是可以记录所有的历史版本&#xff0c;即记录下来每一步操作后的状态 下图模拟过程 题目&#xff1a; 最大异或和 给定一个非负整数序列 a&#xff0c;初始长度为 N。 有 M 个操作&#xff0c;有以下两种操作类型&#xff1a; A x&#xff1a;添加操作&#xff0…

uniapp自用速查表 - 我的常用组件

纯私人class&#xff0c;公开文章是方便置顶.... <!-- 自定义导航栏 占位空间 --> <view class"navigationStyleCustomHeight alwaysOnTopBox0 bgColorForTheme"></view> <!-- 自定义导航栏 --> <view class"alwaysOnTopBox1 myNav…

java正则表达式简单使用

String email = "13072558368"; email = email.replaceAll("(\\d{3})\\d{6}(\\d{2})", "$1****$2"); System.out.println("email=" + email); email=130****68从第三个开始,计算6个数字,其中计算的6个数字用*替换String mobile = &q…