✿✿✿JavaScript基本语法一

news2025/3/2 3:17:48

目  录

1.js的发展史(闲聊版)

2.浏览器分成两部分:渲染引擎和 JS 引擎

3.js与html的关系以及结合方式

(1)js与html的关系

(2)js与html结合方式

4.JavaScript注释

5.js中的基本数据类型

6.js中的变量

7.运算符(自动类型转换)

(1)算数运算符:++    --     +(正)    -(负)    +   -   *   /   % 

(2)比较运算符:>  <  >=  <=  !=  ==   ===(全等于)

(3)逻辑运算符:&&   ||   ! 

8.九九乘法表(js版本)


1.js的发展史(闲聊版)

Long Long Ago~~

        互联网刚刚兴起,家人们就爱上了上网冲浪,查看各种论坛社区什么的(不要问我为什么不打王者荣耀)。当时的  网络迷之卡顿,当咱们需要登录或者注册什么东西的时候,就出现了让人很脑壳大的问题。一个表单例需要的填的内容很多,咱们挨个挨个填完了然后点击提交。等了亿会儿,哟呵~响应回来咱的邮箱格式不对,于是又挨个挨个从头填。填完发送,又等了亿会儿!哎呦喂~说咱用户名格式不对。就咱的小暴脾气,这谁受得了啊,等你老半天,完了你跟我说填的内容这里格式不对,那里格式有问题!作为一个用户身份,我是觉得这个  体验感极差

        那个时候就有人也跟我一样暴脾气呀,忍不了了!于是就开动小脑袋瓜子,想要在用户填的时候就验证(也就是  在客户端验证),而不是每次等填完之后发给后台验证,验证完再返回给客户端。当时最先有这个思想的便是  nombas公司,1992年定义了   C--语言,这可是最早的客户端脚本语言。专门用于表单验证,后来又更名为 scriptEarth。有了第一个吃螃蟹的人,就会有一堆人来吃了。

         于是  网景浏览器  也想使用这种脚本嘛!(作为00后,若不是接触到JS的发展史,这辈子可能都不知道还有一个网景浏览器!终究是孤陋寡闻了!泪奔~~~)....但是那个需要收费以及其他原因,便自己研究了新的脚本语言集成到浏览器中!从此网景浏览器大卖,直接封神了。后来   找到sun公司合作,共同开发出  JavaScript  。据说当时微软模仿JavaScript 定义了JScript。当时的脚本市场非常混乱。于是就有人提出要制定一个标准,后来找到  ECMA(欧洲计算机协会)来判定的标准,也就是ECMAScript规范,而该标准基本照搬了JavaScript。如今的  JavaScript = ECMAScript规范 + js自己特有的东西(BOM/DOM)。此外ECMAScript 6.0可简称ES6。

补充:

  • DOM文档对象模型(DocumentObject Model,简称DOM),是W3C组织推荐的处理可扩展标记语言的标准编程接口。通过 DOM 提供的接口可以对页面上的各种元素进行操作(大小、位置、颜色等)
  • BOM浏览器对象模型(Browser Object Model,简称BOM) 是指浏览器对象模型,它提供了独立于内容的、可以与浏览器窗口进行互动的对象结构。通过BOM可以操作浏览器窗口,比如弹出框、控制浏览器跳转、获取分辨率等。

2.浏览器分成两部分:渲染引擎和 JS 引擎

  • 渲染引擎:用来解析HTML与CSS,俗称内核,比如chrome浏览器的blink,老版本的wbkit。
  • JS引擎:也称为JS解释器。用来读取网页中的JavaScript代码,对其处理后运行,比如chrome浏览器的V8。

注:浏览器本身并不会执行JS代码,而是通过内置 JavaScript 引擎(解释器) 来执行 JS 代码 。JS 引擎执行代码时逐行解释每一句源码(转换为机器语言),然后由计算机去执行,所以JavaScript 语言归为脚本语言,会逐行解释执行。

3.js与html的关系以及结合方式

(1)js与html的关系

js是HTML里的一种编程语言(划重点:编程)。之前有看到网友这样来形容他们之间的关系的,我觉得很不错!如果把html程序比做房子的话那HTML是房子本身(基础),css是装饰品(外貌),js是家具(功能)。综合使用HTML,CSS与JS,会让网页更加美观,功能更加完善!

(2)js与html结合方式

  • 内部方式:定义<script>标签,标签体书写js代码。注意:<script>标签定义的位置,会影响执行顺序
  • 外部方式:   将JS代码单独写在一个js文件中,页面通过src属性导入外部js文件就可以。提高了js代码的复用性。
  • 内联方式:  就是将JS代码写在HTML标签上,基本不用

4.JavaScript注释

为了提高代码的可读性,JS与CSS一样,也提供了注释功能。JS中的注释跟JAVA中的注释一样,主要有两种,分别是单行注释和多行注释。

  • 单行注释:  // 用来注释单行文字(  快捷键   ctrl  +  /  )
  • 多行注释:  /*  用来注释多行文字  */( 默认快捷键  alt +  shift  + a ) 

5.js中的基本数据类型

  • number:        数字类型,包含整数和小数和 NaN(代表一个非数值 );默认值为0
  • string:              字符串( " ")和字符类型('');默认值为""
  • boolean:          true 和 false;默认值为false
  • null:               空类型,对象的占位符;默认值为null
  • undefined:     未定义,如果一个变量没有初始化值;默认为undefined

6.js中的变量

js是一门  弱类型语言:定义变量时,不需要规定其数据类型。并且所有熟记都  需要初始化赋值,否则默认为undefined。

var   是一个 JS关键字,用来声明变量( variable 变量的意思 )。使用该关键字声明变量后,计算机会自动为变量分配内存空间,不需要程序员管。

  • 使用 var定义变量  var i = "abc";(注意:var关键字如果不书写,该变量则为全局变量)。
  • 也可以同时声明多个变量。同时声明多个变量时,只需要写一个 var, 多个变量名之间使用英文逗号隔开。
var age = 18;                           //  声明一个 名称为age 的变量 
var age = 10,  name = 'zs', sex = 2;    //  声明多个 名称为age,name,sex的变量

ES6 提供了一个关键字   const   来定义常量,不可再重新赋值,如若重新赋值会报错。

ES6 提供了一个关键字   let,为了解决块级作用域中,变量问题,ES6就增加了这个关键字,用来声明块级作用域中的变量。

补充:

  • typeof  运算符,用来获取变量的数据类型。
  • isNaN  运算符,用来判断一个变量是否为非数字的类型,返回 true 或者 false。
  • 通过字符串的   length 属性  可以获取整个字符串的长度。
  • 字符串拼接:多个字符串之间可以使用 + 进行拼接,其拼接方式为字符串 + 任何类型 = 拼接之后的新字符串。(注:拼接前会把与字符串相加的任何类型转成字符串,再拼接成一个新的字符串 )

7.运算符(自动类型转换)

在js中,如果传递给运算符的值,和运算符想要接受的值的类型不匹配,则会自动类型转换 。

(1)算数运算符:++    --     +(正)    -(负)    +   -   *   /   % 

  • string类型,将字符串的字面值转为number;如果字面值不是数字,则转为NaN,空串转换成0。 
  • boolean类型,true转为1、false 为0。其他类型转为number。
  • 注意:NaN或undefined参与数学运算,结果都为NaN

(2)比较运算符:>  <  >=  <=  !=  ==   ===(全等于)

  • NaN参与的运算,结果都为fasle,除了(!=)。
  • 字符串比较小大:如果长度一致,则按照字典顺序比较 。长度不一致,那谁的长度长那就谁大。
  • 全等于与==的区别就是,比较时会先比较类型,如果类型不一致,则直接返回false。

(3)逻辑运算符:&&   ||   ! 

  • number:非0转为true,0和NaN转为false。
  • string: 除了空字符串(""),其他都是true。
  • null 和 undefined转为false。对象:所有对象都为true 。其他类型转boolean。

补:赋值运算符与三元运算符与java中的一样。

8.九九乘法表(js版本)

js常用的语句语法与java中一样,例如for、if、swich等等。

<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script>
			for (var i = 1; i <= 9; i++) {
				for (var j = 1; j <= i; j++) {
					document.write(j + "*" + i + "=" + (j * i) + "&nbsp;&nbsp;&nbsp;&nbsp;");
				}
				document.write("<br>");
			}
		</script>
	</head>
	<body>
	</body>
</html>


 

(小编也在努力学习更多哟!以后再慢慢分享的啦!)

希望对友友们有所帮助!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

9.前端笔记-CSS-盒子模型-border和padding

页面布局的三大核心&#xff1a; 盒子模型浮动定位 1、盒子模型 1.1 盒子模型组成 盒子模型本质还是一个盒子&#xff0c;包括边框border、外边距margin、内边距padding和实际内容content 1.1.1 边框border 组成 组成&#xff1a;颜色border-color、边框宽度border-wid…

518. 零钱兑换 II【完全背包:求组合数】

518. 零钱兑换 II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位…

C++11 右值,右值引用,移动构造,移动赋值

目录 一、左值&#xff0c;左值引用&#xff0c;右值&#xff0c;右值引用的相关概念&#xff1a; 1. 什么是左值&#xff0c;什么是左值引用&#xff1f; 2. 什么是右值&#xff0c;什么是右值引用&#xff1f; 3. 右值的属性是右值&#xff0c;右值引用的属性是左值 4. …

棒子老虎鸡-第12届蓝桥杯Scratch选拔赛真题精选

[导读]&#xff1a;超平老师计划推出Scratch蓝桥杯真题解析100讲&#xff0c;这是超平老师解读Scratch蓝桥真题系列的第86讲。 蓝桥杯选拔赛每一届都要举行4~5次&#xff0c;和省赛、国赛相比&#xff0c;题目要简单不少&#xff0c;再加上篇幅有限&#xff0c;因此我精挑细选…

研究生有限元仿真应用中存在的问题与对策

作者&#xff1a;尚晓江 导读&#xff1a;有限元分析软件作为计算工具&#xff0c;在科研和工程领域都有广泛应用&#xff0c;而多数用户是在研究生阶段开始接触和使用这些计算软件的。本文以ANSYS结构分析为例&#xff0c;对现阶段研究生应用有限元分析软件的现状和存在的问题…

无人机设计仿真--在Isight平台上进行的基于CST参数化+Xfoil的无人机翼型优化

作者&#xff1a;Graychen 一、工程背景 翼型的选型和设计是飞行器气动设计中的一项基础性工作&#xff0c;翼型对飞行器的气动性能具有根本性的影响。现在高性能飞行器已不再从翼型库中选择适用翼型后直接使用&#xff0c;而是以现有翼型作为基准翼型进行气动优化&#xff…

java基本语法 下

目录 运算符 运算符&#xff1a;算术运算符 运算符&#xff1a;赋值运算符 运算符&#xff1a;比较运算符 运算符&#xff1a;逻辑运算符 运算符&#xff1a;三元运算符 运算符的优先级 程序流程控制 概念 顺序结构 if-else结构 switch-case结构 循环结构 循环结构…

Unity视差贴图多实现对比和改进

视差贴图多种实现方式对比和改进视差贴图视差映射陡峭视差映射视差遮蔽映射迭代视差映射-kerry视差贴图 参考 与法线贴图相同&#xff0c;可以模拟出物体得深度感&#xff0c;同时它得改进是能够随着视角得偏移显示不同得深度感&#xff0c;使得显示更加真实。 由于采样高度…

代码随想录刷题| 多重背包理论基础、背包问题的总结

目录 多重背包理论基础 多重背包的问题 多重背包的解法 多重背包的代码 背包问题的总结 01背包 完全背包 多重背包 多重背包理论基础 多重背包的问题 有N种物品和一个容量为V 的背包。第i种物品最多有Mi件可用&#xff0c;每件耗费的空间是Ci &#xff0c;价值是Wi 。…

单身福利专场, Python采集某相亲网站美女数据

前言 嗨喽~大家好呀&#xff0c;这里是魔王呐 ❤ ~! 现在&#xff0c;广大年轻人到了一定年纪&#xff0c;一定会引来父母的念叨 不是让相亲就是让结婚的&#xff0c;与其父母念叨&#xff0c;不如自己找一个 到时候问起来&#xff0c;就说再接触呢~~ 今天我们就来用python…

NestJS学习:使用session实现登录验证

参考 大佬的视频教程&#xff1a;nestjs session案例 大佬的博客地址&#xff1a;小满nestjs&#xff08;第九章 nestjs Session&#xff09; 在学习某些知识时如果有大佬的视频教程与文档真的是太爽了&#xff0c;能够学习到好多新知识。 nest后台 session session 是服务…

目标检测算法——3D公共数据集汇总(附下载链接)

>>>深度学习Tricks&#xff0c;第一时间送达<<< &#x1f680;&#x1f680;&#x1f680;近期&#xff0c;小海带在空闲之余&#xff0c;收集整理了一批3D公共数据集供大家参考。 整理不易&#xff0c;小伙伴们记得一键三连喔&#xff01;&#xff01;&…

十个值得珍藏的正则表达式

正则表达式常学常忘&#xff0c;记规则不如记例子&#xff0c;记多不如记精&#xff0c;记例子就记最经典的。下面是本人珍藏的十个有用的正则表达式&#xff0c;不吝分享&#xff0c;以飨读者。 正则表达式要点 小括号&#xff1a;代表分组 中括号&#xff1a;代表集合 大括号…

回归分析(1)-回归分析的基本概念

1.回归方程 由于x是可控的非随机变量&#xff0c; 而Y 是一个与x有关的随机变量&#xff0c;因此&#xff0c;直接研究变量Y与x之间的相关关系是困难的&#xff0e; 如果注意到随机变量Y的数学期望反映了随机变量Y的平均取值&#xff0c;因此&#xff0c; 可考虑研究EY与x之间的…

第六章 支持向量机

6.1 间隔与支持向量 给定一个训练样本集&#xff0c;分类学习最基本的想法就是基于训练集D在样本空间中找到一个划分超平面。但是这个划分超平面也是很多的&#xff0c;如下图所示 直观上应该去找两类样本中最中间的划分超平面&#xff0c;因为该划分超平面对训练样本局部扰动…

与分类有关的一种时序优先现象

(A&#xff0c;B)---2*30*2---(1,0)(0,1) 用网络分类A和B&#xff0c;让A由两张图片组成&#xff08;0&#xff0c;0&#xff09;&#xff08;0&#xff0c;1&#xff09;&#xff0c;让B由两张图片组成&#xff08;1&#xff0c;0&#xff09;&#xff08;0&#xff0c;0&…

(附源码)计算机毕业设计JavaJava毕设项目租车网站

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven Vue 等等组成&#xff0c;B/…

Ubuntu22.04:设置Samba服务

Samba服务可以实现在主机间共享文件与Windows的共享通用。 Ubuntu22.04可以按照如下步骤安装并开启Samba服务&#xff1a; 1.安装samba sudo apt install samba 2.创建一个用于共享的目录(路径和路径名可以自行决定&#xff09; mkdir samba 3.设置共享目录的访问权限 s…

Prometheus的remotewrite for java

1、增加参数重启prometheus 修改 prometheus启动参数 - "--enable-featureremote-write-receiver" 重启 prometheus 2、下载案例 GitHub - bprasen/remotewrite 3、迁移 将案例中的代码复制到springboot/springcloud中 pom中增加 <!-- prometheus remote writ…

Windows OpenGL 图像阴影

目录 一.OpenGL 图像阴影 1.原始图片2.效果演示 二.OpenGL 图像阴影源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL ES 学习…