计算机语言指用于人与人之间通讯的语言
计算机语言的种类非常多,总的来说可以分成:机器语言,汇编语言,高级语言三大类
二进制是计算机语言的基础
通用汇编语言有两种形式:汇编语言和高级语言
汇编语言和机器语言实质是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,容易识别和记忆
高级语言不是特指的一种语言,而是包括了很多编程语言,常用的有:c语言,c++,Java,c#,Python,PHP,JavaScript,Go语言等
编程语言和标记语言区别:
编程语言有很强的逻辑和行为能力
标记语言(html)不用于向计算机发出指令,常用于格式化和链接,标记语言的存在是用来被读取的,是被动的
数据存储
计算机内部使用二进制0和1来表示数据,所有数据,文件,图片最终都是以二进制数据(0和1)的形式存放在硬盘中
计算机常用的存储单位:
8 bit = 1 Byte 一字节
1024 B = 1 KB (KiloByte) 千字节
1024 KB = 1 MB (MegaByte) 兆字节
1024 MB = 1 GB (GigaByte) 吉字节
1024 GB = 1 TB (TeraByte) 太字节
JavaScript是一种运行在客户端的脚本语言
脚本语言:不需要编译,运行过程中由js解析器(js引擎)逐步进行解释并执行
浏览器本身并不会执行js代码,而是通过内置JavaScript引擎(解释器)来执行js代码,js引擎执行代码逐行解释每一句源码(转换成机器语言)然后由计算机去执行,所以JavaScript语言归为脚本语言,会逐步解释执行
- day01
浏览器端的支持的三种语言
HTML(标记语言):用于标记页面的结构与内容
CSS(样式语言)::用于美化页面
JavaScript(逻辑语言):为页面赋予行为动作(与用户进行交互)
JavaScript的组成
ECMAScript :
语法规范:
规定语法的组成,以及语法的格式
语法上的要求对于任何一门编程语言都是十分苛刻的,不允许有一丁点的错误,例如:大小写、标识符号都不可以出错,特别是JS语言
BOM
==B==rowser ==O==bject ==M==odel 浏览器对象模型
Browser 英文意思为浏览器Object 英文意思为对象Model 英文意思为模型
浏览器生产商在开发浏览器时,会将浏览器设计成多个组成部分,每个部分就是一个对象。我们在编程中会使用js操作其中的个个组成部分。例如:弹窗、跳转...
DOM
==D==ocument ==O==bject ==M==odel 文档对象模型
Document 英文意思为文档 (也就是html文档)Object 英文意思为对象 (html文档中的任何一个标签,在js中都可以称之为一个对象)Model 英文意思为模型 (根据html文档中的标签以及标签之间的关系,可以将一个文档画出一种类似于树状的结构,也称之为DOM节点树)
我们在编程中,可以使用JS操作标签的方方面面
JavaScript书写位置
外部(掌握)
将js保存单独保存到一个文件中。 再使用script标签的src属性将其引入到当前文件。 这种方式即为外部
将js保存单独保存到一个文件中。再使用script标签的src属性将其引入到当前文件。
内部(掌握)
书写在script标签内部,这种方式即为内部
行内(了解)
书写在html标签的属性事件中,这种方式即为行内。
书写在html标签的属性事件中,这种方式即为行内
JavaScript语言规则
js是严格区分大小写的语法,初学者要特别注意
一般一行仅书写一条代码,如果书写多条需要使用分隔开
js语法中的符号都是英文的(小写的)
JavaScript的注释
单行注释
格式: 双斜杠
// 注释内容 仅影响斜杠开始到行尾,
多行注释
/*
...
注释内容
...
*/
多行注释可以包含单行注释,但多行注释不能嵌套
注释的内容并不会被js当作代码来执行。
注释一般是针对当前代码进行解释说明,增加程序的可读性,这样有利于其他人接手,或方便以后对代码进行备查。
常用的输入与输出
输入:
- prompt('内容') 弹出一个交互信息获取框,并显示提示信息。
- confirm('内容') 弹出一个,确认交互对话框,仅需要用户进行确认或取消操作即可。
输出:
- alert('内容') 弹出一个提示信息框,这种方式主要是弹出提示信息给普通用户
- console.log('内容') 在控制台输出信息,此种方式主要是给程序写使用
- document.write('内容') 将内容输出到html的body标签内
变量
什么是变量:
首先明确: 计算机的作用是用对数据进行运算,想对数据进行运算,在计算机内部数据就得有个保存的位置。
官方概念: 变量内存中用于存储数据的一个空间,这个空间有一个标识。 变量是空间(空间用于保存东西的)。 空间有一个标识,通过这个标识来对这个空间进行读写操作。这个标识称之为变量名。
类比: 酒店的客房 客房是一个空间,空间用于客人休息。 客房都是有一个房号标识,通过房号找到房间,就可以确认客人。
变量的本质是一个内存中的一个空间,作用是用于存储数据。空间有一个标识(名子)。
变量使用时分为两步:1.声明变量,2.赋值
语法:
let 变量名 // 声明一个变量let 变量名 = 值 // 声明一个变量同时赋值,术语称之为==变量的初始化==
let 变量名=数据
let 变量名
将某个变量的值读取出来,进行显示或进行其他运算,这种操作行话称之为访问变量
•读取变量的值:
let a = 10
Console.log( a )
Console.log( a + 10 )
•修改变量的值
let a = 10
a = 100
console.log( a )
let声明的变量只能声明一次
let a = 100; 这条语句会向操作系统申请一个空间(例如:操作系统为本条语句所分配的空间为0x1091)。并将数据100保存到这个空间中,同时为这个空间定义一个名子a(a就是变量名)。
有了变量名后,我们就不需要关心数据100的物理地址是什么,代码中通过自己定义的变量名a就可以对这个空间进行操作了。
交换两个变量的值:
交换两个变量的值:
第1步:定义中间变量,将其中一个变量赋值给中间变量
第2步:将另一个变量变量赋值给第1个变量
第3步:最后将中间变量赋值给第2上变量
语法:let a = 100
let b = 200
// 借助第2个变量
let c = a
a = b
b = c
console.log(a,b)
变量的命名规则
只能包含字母、数字、下划线、$
不能以数字开头
不能是js中的关键字,关键字就是被js赋予了特殊功能的单词。
例如: let这个人类的单词被js赋予了定义变量的功能,而age单词在js中就没有被赋予特殊的功能。
实际开发中的一些规范: 尽量见名知义 多个单词组成的变量名采用驼峰法 不建议使用name,name存在一个坑。
数据类型_1(简单数据类型)
number数值类型
数值类型很简单,就是数字,取值:整数,小数(浮点数),正数,负数
string字符串类型
使用单引号或双引号括起来的为个或多个字符。
例如:let uname = 'zhangsan' //单引号定义字符串
let aword = "超人类" // 双引号定义的字符串
let addredd = '' // 空字符串
默认情况下单引号不能再包含单引号
默认情况下双引号不能再包含双引号
引号嵌套:默认情况下单引号不能再包含单引号,但可以包含双引号
默认情况下双引号不能再包含双引号,但可以包含单引号
boolean布尔类型
布尔类型的值常用于表示现实中的"矛盾态",相互对应的两种状态。
取值:布尔类型仅有两个取值
true 表示成立、对
false 表示不成立、错
这两个是js关键词,不需要加引号
布尔类型的值很简单,主要是看使用者赋予它的意义。
undefined未定义类型
undefined类型翻译为未定义类型,其取值只有1个,即(undefined)
例子:仅声明变量(并没有赋值),
let a;
console.log(a) // undefined
null空类型
null也称之为空类型,其取值只有1个,即(null)
输入函数的返回值类型
prompt()
示例:let uname = prompt('输入姓名') // 输入 thinker
console.log(uname) // 'thinker'
let age = prompt('输入年龄') // 输入20
console.log(age) // '20'
let ret = prompt('输入数据') // 点击取消
console.log(ret) // null
confirm()
示例:let isOk = confirm('你确定要删除么') // 点击确定
console.log(isOk) // true
isOk = confirm('你确定删除么') // 点击取消
console.log(isOk) // false
运算符
赋值运算符:=
将 =右侧的数据 赋值给 =左侧的变量
加减乘除运算符:+ - * /
例子:let n1 = prompt('输入