1.如何使用js脚本
- 1、内嵌式:嵌入页面运行:
<script>
脚本
</script>
- 外联式:单独的js文件:页面关联引用
<script src="js文件路径"></script>
- 行内式
2.数据类型
- 基本数据类型
String | 一个或者多个字符 |
Number | 整数和小数 |
Boolean | true/false |
Undefined | 未定义,声明了变量但并没有赋值 |
Null | 空引用,空地址。 |
- 引用类型
- Object,Array,Function....
3.作用域:全局、函数、块级
- 作用域是指变量的可访问范围,JavaScript中有三种作用域:全局作用域、函数作用域和块级作用域
- 全局作用域中声明的变量可以在代码的任何地方被访问
- 函数作用域中声明的变量只能在函数内部被访问
- 块级作用域中声明的变量只能在块级作用域内部被访问
4.var、let、const的区别
- var声明的变量存在变量提升,let和const不存在变量提升
- var声明的变量可以重复声明,let和const不允许重复声明
- let声明的变量可以修改其值,const声明的变量不允许修改其值,但是如果是对象或数组,可以修改其属性或元素的值
因此,如果需要修改变量的值,可以使用let,如果需要声明常量或不允许修改的变量,可以使用const
5.什么是函数?
以function 的结构将代码封装起来,为了实现特定的功能。
function 名字(){
代码;
}
6.for..in和for的区别
- for循环用于遍历数组或执行一定次数的循环操作,for..in循环用于遍历对象的可枚举属性
- for循环的语法为:for (初始化表达式; 条件表达式; 递增表达式) { 循环体 }
- for..in循环的语法为:for (变量 in 对象) { 循环体 }
- for循环可以遍历数组的下标,for..in循环可以遍历对象的属性名,通常用来遍历读取数据
7.Date(日期)
// 创建日期对象
let date =new Date();
console.log(date);
// 转成本地日期字符串
console.log(date.toLocaleDateString());
console.log(date.toLocaleTimeString());
console.log(date.getFullYear());
console.log(date.getMonth())+1;//月 0~11
console.log(date.getDate());
console.log(date.getTime());//毫秒值
8.Math数学对象
let n = Math.random(); //>=0 <1
let n1 = Math.ceil(100.2);
let n2 = Math.floor(100.2);
let n3 = Math.round(100.5);
console.log(n, n1, n2, n3);
9.鼠标相关事件
-
mouseenter
:鼠标进入一个节点时触发,进入子节点不会触发这个事件,不支持冒泡 -
mouseleave
:鼠标离开一个节点时触发,离开父节点不会触发这个事件,不支持冒泡 -
contextmenu
:按下鼠标右键时(上下文菜单出现前)触发,或者按下“上下文”菜单键时触发。 -
mousedown
:按下鼠标键时触发 -
mouseup
:释放按下的鼠标键时触发
10.键盘事件
-
keydown
:按下键盘时触发,当键盘按下任何一个键的时候发生(包括系统键) -
keypress
:按下有值的键时触发,即按下 Ctrl、Alt、Shift、Meta 这样无值的键,这个事件不会触发。对于有值的键,按下时先触发keydown
事件,再触发这个事件。 -
keyup
:松开键盘时触发该事件。
11.表单事件
- (1)input事件 当<input>、<select>、<textarea>的值发生变化时触发。
- (2)change事件 当<input>、<select>、<textarea>的值发生变化时触发。它与input事件的最大不同,就是不会连续触发,只有当全部修改完成时才会触发,另一方面input事件必然伴随change事件。
- (3)焦点事件 focus:元素节点获得焦点后触发,该事件不会冒泡。blur:元素节点失去焦点后触发,该事件不会冒泡。