ES5的课程已经结束,浅做一个总结
1.严格模式
严格模式,限制一些用法,'use strict';
为什么使用严格模式:
1.消除代码运行的一些不安全之处,保证代码运行的安全;
2.消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
3.提高编译器效率,增加运行速度;
4.为未来新版本的Javascript做好铺垫。
2.标识符
标识符:首字母必须是字母、下划线或符号$。其他字符是任意字符。在命名时,使用驼峰命名法,见名知意。
3.基本数据类型
1.Number数字类型(整形,浮点型,NaN)
2.String字符型(用“ ”、‘’、``,进行引用字符串)
3.Boolean布尔型(返回值只有true或者false)
4.Undefined型(未定义类型 例如 var a;)
5.Null型(空类型)
6.其他特殊类型(标签、数组、object)
4.运算符
1.算术运算符(+、-、*、/、%、++、--)
2.赋值运算符(=、+=、-=、*=、/=、=、%=)
3.声明变量 var yx="";左边声明,右边赋值,初始化,定义。
5.类型转换
1.强制类型:转换Number(n)将N转换为数字型。parseInt(n)将n转换为整数。parseFloat(n)将n转换为浮点数
2.查看数据类型 type of(n)
3.判断n是否为NaN isNaN(n)
4.隐式类型转换 +是拼接字符串的符号
6.循环
1.if else语句 条件分支可以使用。switch语句清晰简单。do while先执行一次。while true时为死循环。for循环 用于遍历数组
2.if语句非空即真,非0即真(这里非0指的是null,空字符串,undefined)
3.if与switch的区别:(1)if语句得按照流程执行.(2)switch语句命中目标,速度较快(3)switch语句的case后必须跟常量表达式,有一定的限制
4.return、break、continue的区别:return返回一个值,结束函数。break结束所有循环。continue结束本次操作。
7.数据类型涉及到的问题
1.强数据类型与弱数据类型的区别:强数据类型在编译前确认。弱数据类型在编译时确认
2.基本数据类型与引用数据类型的区别:基本数据类型在栈区,引入数据类型在堆区
3.深浅拷贝的区别:浅拷贝只拷贝地址,深拷贝拷贝内容
8.逻辑运算符
1.===全等于与==等于的区别:等于只比较内容,全等于不仅比较内容还比较数据类型
2.&&逻辑与(一假全假,全真为真)
3.||逻辑或(一真全真,全假为假)
4.三目运算符:表达式1?表达式2:表达式3;表达式1为真时,值为表达式2.表达式1为假时,值为表达式3
9.数学操作
1.Math.ceil(n)向上取整
2.Math.floor(n)向下取整
3.Math.abs(n)返回n的绝对值
4.Math.round(n)n四舍五入
5.Math.random(n)返回[0,1)的随机值
6.Math.PI 圆周率
7.Math.pow(n,m)返回n的m次方。
8.Math.sqrt(n)n开平方
9.随机数函数: function rand (min,max)
{return Math.round(Math.random*(max-min)+min)}
10.数组操作
1.定义数组 var arr= new Array();var arr=new Array(5)括号里一个值代表数组长度。var arr new Array[1,2,3,14,5]此时代表数组的元素 一般我们定义数组可以简写 var arr=[1,2,3,4,5]
2.使用for循环遍历数组 for(var i=0;i<arr.length;i++)
3.冒泡排序 for(var i=0;i<arr.length-1;i++){//走几遍 这里-1是因为最后一个元素没必要进行比较
for(var j=0;j<arr.length-i-1;j++){//这里-i是因为每次遍历将最大的元素放在数组末尾,没必要比较。这里的-1是防止越界
if(arr[j]>arr[j+1]){
var temp=arr[j]; arr[j]=arr[j+1];arr[j+1]=temp;}}}
4.增删改查:push(x)将元素添加到数组末尾
pop()删除数组的最后一个元素
unshift(x)将元素添加到数组开头
shift()删除数组开头的第一个元素
concat()将一个数组插入到另一个数组的末尾 要有变量来接受这个值
5.排列 reverse()颠倒数组中的元素的顺序
sort()return>0 交换位置。return<0 不用交换位置
6.join(规则)以指定规则返回字符串 要有新变量进行接收
7.splice(x,y,“new”)从下标x开始,删除y个元素,插入“new”元素
8.slice(stard,end)获取数组中某段数组元素
11.字符串操作
1.str.length:字符串长度
2.str.toUppercase转化为大写 str.toLowercase。转换为小写
3.str.replace(x,y)替换
4.str.indexOf()检索下标 当===-1时,元素不存在
5.str.split()以某种规则分割开 返回一个数组
12.元素获取
1.getElementById()根据id名获取元素
2.getElementsByTagName()根据标签名获取元素
3.getElementsByClassName() 根据类名获取元素
4.querySelector() 可用类似css语法进行选择
5.querySelectorAll()
13.计时器
setInterval() clearInterval() 清除计时器
setTimeout() clearTimeout()清除计时器
14.日期操作
1.var date=new Date()获取现在的时间 也可以在括号内写时间来指定时间
2.getFullYear ()获取年 getMonths()获取月 但是需要+1 才是当前月份 getDate()获取日 getDay()获取星期 getHours()获取小时 getMinutes()获取分钟 getSeconds()获取秒
3.get Time()获取1970.1.1至今的时间
15.标签属性操作
1.element.style.backgroundColor 背景颜色
2.element.style.width 宽度 高度 注意加px
3.element.className 完全覆盖类名
4.element.id 修改和获取id属性值
5.element.innerHTML先清空再添加