1. JavaScript是什么? (简称JS)
JavaScript是一门强大的解释型编程语言
编程语言: 可以开发功能的语言
解释型: 需要浏览器的内核进行改编, 编译成计算机可以识别的语言
页面的组成 = html(结构) + css(样式) + JavaScript(行为交互)
交互: 用户与计算机产生关联的一种行为
静态页面: 页面内容不会发生任何变化的页面
动态页面: 页面内容会随着时间/后台数据变化而发生变化的页面
2. js写在哪?
重点(内联式和外链式):
内联式:
js代码要写在script标签内部, 可以写在html文档的任意位置
外链式:
js代码要写在xxx.js文件内部, 需要在html文档中通过script标签的src属性引入
了解:
HTML标签事件属性:
<开始标签 on事件=”js代码”></结束标签>
a标签的href属性:
<a href=”JavaScript:js代码”> 文字 </a>
注意点:
1.内联式和外链式不能混搭
2.内联式一般写在html结构最后面
3.外链式一般写在head标签内或者是html结构的最后面
3. js的输出方式:
浏览器的小弹框: alert(“文字”) => 全写: window.alert(“文字”)
注意点: 在书写js时, window可以省略
页面书写方式: document.write(“内容”)
注意点: 可以识别HTML标签
重点: 控制台输出: console.log(“文字”)
4. 注释
单行注释: ctrl + /
多行注释: shift + alt + a
5. 变量(重重点)
变量: 变化的数据
常量: 不变化的数据
在js中如何定义变量和常量:
语法: 声明 常量/变量名 = 值;
声明的作用: 向计算机申请一小块存储空间, 用来存放数据
面试题: 声明变量的方式? 以及它们之间的区别
var: 可以重复声明, 也可以重复赋值 (变量)
let: 不可以重复声明,可以重复赋值 (变量)
const:不可以重复声明, 不可以重复赋值 (常量)
6. 标识符
标识符: 需要程序员自己命名的东西, 比如变量名, 函数名…
规则:
1) 不允许数字开头, 但是允许数字结尾
2) 支持_ $符号
3) 区分大小写
4) 支持大驼峰(UserName) 小驼峰(userName)
5) 不支持关键词/保留词
7. JS数据类型(重重点)
基本数据类型( 5+1 ):
String — 字符串(加了”‘`的数据)
Number — 数字(不加引号的数字)
比较特殊的数字类型—NaN Not a Number不是一个数字
boolean — 布尔值(不加引号的true/false)
undefined — 未定义(变量未赋值时, 默认值为undefined)
null — 空
symbol — 唯一的
引用数据类型:
object — 对象( {} )
array — 数组
function — 函数
8. JS的数据类型转换:
隐式类型转换: 计算机在运行过程中会自动将数据进行转换的方式
强制/显式/手动类型转换: 通过一些指定的方式方法对数据类型进行转换
parseInt( xxx ) — 转数字类型, 并取整
parseFloat( xxx ) — 转数字类型, 并保留小数点
String( xxx ) — 转字符串类型
Number( xxx ) — 转数字类型(纯数字的字符串)
Boolean( xxx ) — 转布尔值( 有值有数字为true , 无值或0为false )
9. 运算符
1) 算术运算符
+ – * /
% 取模(取余值) 7%3 = 1 -> 7/3 =2,余1 , 没有余值就是0
++ 自增1
— 自减1
前置: 先在自身+/-1, 再执行
后置: 先调用自身, 下次调用时再+1
2) 比较运算符
> >= < <=
赋值: =
双等于: == 判断值是否相等, 不包含数据类型
全等于: === 判断值和数据类型是否都相同
!(非–取反)
非等于: != 先判断==的值, 再取反
非全等于: !== 先判断===的值, 再取反
面试题: null 和 undefined做比较, 得到的值?
null和undefined都代表空值, 双等于返回true
虽然都代表空值,但是数据类型不一样, ===返回false
拓展:JS的版本
HTML -> HTML5
CSS -> CSS3
JS -> ES5/6/7 /8/9/10/11/12
JS的组成: DOM(文档document) BOM(浏览器) ECMAScript(JS的核心语法, 简称ES)
学习JS的小技巧:
一步一打印, 多逻辑画图