语法构成
1. 区分大小写 所有变量 函数 属性都区分大小写 并且都是英文状态下的输入(半角)
2. 不能把关键字、保留字作为标识符(变量名、函数名、属性名)
3. 标识符由字母、数字、下划线_和美元符号$ 组成 ,不能以数字开头
常见的关键字
常见的保留字
JS的执行顺序
js中常见的两种调试方式
- alert()弹框
- console.log() 控制台输出
- 执行顺序 从上到下依次执行 页面中可以不止一个
<script>
标签 - window.onload() 等待页面加载完成
<img/>
图片存在一个load事件 图片分为显示过程和加载过程 图片中的width 和height是需要写的 而且要写图片的原始大小 搜索引擎按照图片的原始大小进行等比例压缩 css样式中!important表示将该属性的优先级提升为最高。
引入外部JS文件
<script src="js文件路径"></script>
数据类型
JS有六种数据类型
1. 简单数据类型
1. string
2. number
3. boolean
2. 引用数据类型
1. object
2. function
4. 未定义
undefined
JS是若类型语言 可以保存任何一种数据类型 定义变量使用var操作符 后跟变量名称
typeof 可以查看变量是哪种类型的,该方法的返回值是string
null属于object类型 undefined属于undefined类型
特殊现象:
var name;
alert(name);//此时弹出空 不是null
var myName;
alert(myName);//此时弹出的是undefined
原因:firefox,chrome中都给函数定义了一个非标准的name属性,通过这个属性 可以访问到该函数指定的名字 因此在这些浏览器中不能使用name作为变量名
获取元素的方式
- 通过id名称 document.getElementById(id);
- 通过标签名 document.getElementsByTagName(tagName);
- 通过类名 document.getElementsByClassName(className);
- 通过css样式 document.querySelector()#id .class div等
document.querySelectoeAll()
兼容问题:后三者在ie9以上的版本中有效
- innerHtml() 获取标签 能够识别标签
- innerText() 获取文本 无法识别标签
- outerHtml()单纯获取可以 但赋值时会把节点删除
- outerText()同上
- document.write();该方法要避免写到window.onload()中 它会造成把body中的内容全部清空的现象。