一.HTML、CSS和JavaScript的区别:
HTML:决定网页的结构和内容。
CSS:决定网页的样式。
JavaSribpt:实现业务逻辑和页面控制。
二.JavaScript由三个部分组成:
ECMAScibpt:JavaSribpt的核心。
ECMAScibpt定义了JavaScibpt的语言规范。
DOM: 文档对象模型。(document-文档)
一套操作页面元素的API。通过DOM提供的API可以对树上的节点进行操作。
BOM: 浏览器对象模型。 (broeser-浏览器)
一套操作浏览器的API。
通过BOM可以操作浏览器窗口, 比如:弹出框、控制浏览器跳转、获取分辨率等。
三.JS的三种书写方式:
1.行内样式:不推荐,不便于维护
2.内部样式:写在script标签里面,界面JS代码较少时可以用。
3.外部样式:写在js文件中,使用script的scr属性带入。
注意点:
1.无论是CSS还是JS得三种写法,
当一个html文件存在多种写法是,
HTML的代码是从上往下解析的。
2.如果是script标签没有src属性表示内联样式,
如果有src属性表示外联样式,外联样式js代码只能写在js文件中。
四.JS注释方法:
五.JS中输入语句和输出语句:
方法一:输出语句:在网页上弹出一个提升框,输出数据。
方法二:输出语句:在控制台打印某个数据
(这个写法不是给用户看的,而是给程序员自己调试看的。)
方法三:输出语句:将数据显示到网页
方法一:输入语句:在网页弹出一个输入框,让用户输入数据
方法二:在网页弹出一个确认框,让用户输入确认?
六.JS的三种导入方式:
方法一: 在script标签里写js代码(内部样式)
方法二:在标签里写js代码(行内样式)
方法三:在script标签里的scr链接里写js代码
JavaScript核心:
变量与作用值
[变量声明let] :
ES6新语法,用来声明变量。
作用:声明一个块级作用域的本地变量,可以设置初始值
【注意点1-不允许重复声明】
let不允许在相同作用域内,重复声明同一个变量。
【注意点2-有块级作用域】
它的用法类似于var,但是所声明的变量,只能再let命令所在的代码内有效。
在下面代码块之中,分别用let和var声明了两个变量。
结果let声明的变量报错,var声明的变量返回了正确的值。
这表明,let声明的变量只在它所在的代码块有效。
【注意点3-不会变量提升】
var命令会发生"变量提升“现象,即变量可以在声明之前使用,值为undefined。
这种现象多多少少是有些奇怪的,按照一般的逻辑,变量应该在声明语句之后才可以使用。
为了纠正这种现象,let命令改变了语法行为,它声明的变量一定要在声明后使用,否则报错。
总结:
1.不能重复声明
2.有块级作用域
3.不会变量提升
[常量声明const]
【注意点1】 const声明一个只读的常量。一旦声明,常量的值就不能改变。
【注意点2-必须设置初始值】
const声明的变量不得改变值,这意味着,const一旦声明变量,就必须立即初始化,不能留到以后赋值。
只声明不赋值,就会报错。
【注意点3-有块级作业域】
const的作用域和let命令相同:只在声明的块级作用域内有效
注意点4-不会变量提升】
const命令声明的变量也是不能提升,同样存在暂时性死区,只能再声明的位置后面
【注意点5-不能重复声明】
【总结】
1.基本数据类型无法重新赋值(引用类型可以更改内容)
2.必须设置初始值
3.有块级作用域
4.不会变量提升
5.不能重复声明
【声明变量const】
在const中,并不是变量的值不得改动,而是变量指向的那个内存地址所保存的数据不可改动。
对于简单类型的数据(数值、字符串、布尔值),值就保存在变量指向的那个内存地址,因此等同于常量。
但对于复合类型的数据(主要是对象和数组),变量指向的内存地址,保存的只是一个指向实际数据的指针,
const只能保证这个指针是固定的(即总是指向另一个固定的地址).
基本数据类型无法重新赋值。引用类型(对象、数组。。。),可以更改内容。(注:不能改的是栈)
上面的代码中,常量a是一个数组,这个数组本身是可写的,但是如果将另一个数组赋给a,就会报错。
【声明变量var】
作用:
1.设置变量
2.和let非常相似
【注意点1:变量会提升】
【注意点2:没有块级作用域】