DAY1
1 基本介绍
(1) 概念
轻量级 解释型 弱类型 脚本语言
(2) 作用
特效
数据交互
(3) 组成
ECMAScript
基本语法
DOM 操作文档
BOM 操作浏览器
2 基本语法
(1) 行内式
在html标签中直接定义js程序
(2) 内部式
在script标签中定义js程序
理论上script标签可以定义在任意位置
但是因为代码的执行顺序
一般定义在 html标签 后
也就是body标签的最下方
(3) 外部式
通过 script标签 src属性 导入外部文件
导入的外部文件内容会直接加载执行
如果 script标签 定义了 src属性
只会触发执行 外部式js代码 不会触发执行内部式js代码
同一个文件夹中的相对路径
一阶段 直接定义文件名称
二阶段 ./文件名称
(4) 特殊的a标签
超链接标签默认点击触发执行 页面跳转功能
如果要触发执行 js程序
href属性要定义成 JavaScript:;
3 变量
(1) 概念
存储在内存中的带有名称的数据信息
其中存储的数据在程序执行过程中是可以改变的
在 JavaScript程序中 数据是不能独立存在的
必须要有存储数据的容器
(2) 语法
var 变量名称 = 表达式 ;
var 声明定义变量的关键词
变量名称
命名规则 必须遵守的
只能使用 英文 数字 下划线 $(不推荐使用) 不能以数字开头
严格区分大小写
不能使用保留词关键词
命名规范 建议遵守的
不要使用 中文等特殊符号
见名知意
小驼峰命名法
= 赋值符号
将右侧表达式的执行结果赋值给左侧变量储存
如果对一个变量执行重复赋值
表达式 带有结果数值的公式
; 每行js程序都要以分号结束
4 调试方式
所谓的js调试方式 只是查看程序执行结果的一种方式方法
不是我们程序执行的最终目的
(1) window.alert()
警告框 提示框 对话框
一次只能输出一个内容
数字直接写
字母符号需要加引号
不支持解析html标签
(2)document.write()
向页面输出
一次可以输出多个内容 使用逗号间隔
数字直接写
字母符号需要加引号
支持解析html标签
(3)console.log()
向浏览器控制台输出
一次可以输出多个内容 使用逗号间隔
数字直接写
字母符号需要加引号
不支持解析html标签
DAY2
1数据类型
1, 概念
计算机程序中不同的数据 在内存中存储的方式不同
按照存储方式 将 数据进行分类
2, JavaScript数据类型
基本数据类型
布尔类型
往往是比较判断的结果
true
真 正确
false
假 错误
数值类型
NaN
Not a Number
类型是数值类型 但是 不是一个具体的数字
往往是有非数字参与运算的结果
两个 NaN 比较判断 结果 永远是 false
有 NaN 参与的运算 结果 还是 NaN
整数
其他进制整数的存储
JavaScript中整数的存储 默认按照 十进制数值存储
二进制 数值前 添加 0b 0B
八进制 数值前 添加 0o 0O
十六进制 数值前 添加 0x 0X
其他进制整数的输出
变量.toString(进制)
将 变量 中存储的数值
按照指定的进制
转化为字符串类型
进制范围是 2 - 36
浮点数
有效数值
从左起第一个非零数字开始计算
JavaScript中 浮点数 整数部分 + 小数部分
最多 17 位
误差 溢出 精度丢失
浮点数 在计算机程序中以 近似值 方式存储
浮点数直接参与程序的运算 执行结果 会存在 误差 溢出 精度丢失
实际项目中 不能 直接使用 浮点数 参与 运算 比较判断
科学计数法
计算机程序中表示数值的一种语法
数值1e数值2
数值1 可以是 整数 / 小数
数值2 必须是 整数 不能是小数
2e3 2乘以10的3次方 --- 2000
2e-3 2除以10的3次方 --- 0.002
2乘以10的-3次方--- 0.002
科学计数法 是 浮点数表示的语法形式
字符串类型
一串由 数字 字母 汉字 符号等 组成的数据
浮点数必须有定界符
'' ""
不能包裹嵌套自身
不能换行
不能直接解析变量
必须要使用字符串拼接语法
将 变量储存的数值 解析拼接到字符串中
'字符串' + 变量
变量 + '字符串'
``
不能包裹自身
支持换行
支持解析变量
字符串${变量}字符串
null
'空'值
变量真确赋值 但是 赋值的是一个空值
undefined
变量只定义没有赋值
JavaScript程序自动给变量赋值undefined
引用数据类型
数组
对象
函数
2数据类型转化
1, 概念
因为 JavaScript 是 弱类型 轻量级 解释型 脚本语言
弱类型 JavaScript语法结构不严谨
定义变量时 对变量储存数据的数据类型没有限制
一个变量 可以 存储 任意类型的数据
计算机程序执行时 有些特殊程序需要指定的数据类型
此时 如果变量中存储的是其他数据类型
需要转化为 指定的数据类型
2 方式方法
(1) 自动转化
在程序执行时 JavaScript程序 自动完成的数据类型转化
(2) 强制转化
程序员自己完成的数据类型转化操作
3, 自动转化
(1) 自动转化为字符串
字符串拼接时触发
转化原则
转化为对应内容的字符串
true ---- 'true'
false ---- 'false'
null ---- 'null'
undefined ---- 'undefined'
100 ---- '100'
100.123 ---- '100.123'
2e3 ---- '2000'
NaN ---- 'NaN'
(2) 自动转化为 数值类型
算数运算 时 触发
如果 有 字符串 参与的 + 加法运算
执行的是字符串拼接 不会执行 加法运算
转化原则
1
true
0
false '' ' ' null
NaN
undefined 不符合数字规范的字符串
对应的数值
符合数字规范的字符串
(3) 自动转化为 布尔类型
if语句 逻辑运算符 三元运算符 .....
转化原则
false
0 0.0000 '' null NaN undefined
true
其他所有情况转化为true
4, 强制转化
(1) 强制转化为 布尔类型
Boolean( 表达式 )
转化原则和自动转化完全相同
不会改变 变量 的原始数值
执行结果 可以使用 变量储存
(2) 强制转化为 字符串类型
String( 表达式 )
转化原则和自动转化完全相同
不会改变 变量 的原始数值
执行结果 可以使用 变量储存
变量.toString()
转化原则和自动转化完全相同
不会改变 变量 的原始数值
执行结果 可以使用 变量储存
如果变量储存 null 或者 undefined
不支持 变量.toString()
如果变量存储 整数
()中可以设定转化的进制
(3) 强制转化为 数值类型
Number( 表达式 )
转化原则和自动转化完全相同
不会改变 变量 的原始数值
执行结果 可以使用 变量储存
parseInt( 表达式 )
从左起 获取 整数部分
如果 第一位 就不符合整数规范 执行结果是 NaN
NaN
true false null undefined 'a100' 'abc2234'
字符串
'100' --- 100
'100px' --- 100
'100a' --- 100
'2e3' --- 2
数值
100 --- 100
100.123 --- 100
2e3 --- 2000
parseFloat( 表达式 )
从左起 获取 浮点数部分
如果 第一位 就不符合浮点数规范 执行结果是 NaN
字符串
'2e3' --- 2000
数字
100.123 --- 100.123
2e3 --- 2000