我复习一遍JS基础,把个人需要记忆的东西摘录下来(个人针对版)
ES5篇
JS的组成:
完整的JS是由ECMAScript(语法),Browser Objects(DOM、BOM)(特性)组成的
DOM:提供网页内容访问的方法和接口
BOM:与浏览器交互的方法和接口,比如说打开浏览器窗口,对其缩放,移动等操作
在html中head和body使用js,用<script>嵌入
ES一切都区分大小写,标识符由字母数字下划线(_)或者$组成,不能由数字开头,不能用保留关键字。以分号结尾,没有也可以
ES的变量是松散类型,可以用来保存任何类型的数据。变量本身没有类型,变量是由变量的值来决定的,每个变量仅仅是用于保存值的占位符而已。
变量声明需要var,一次声明多个用”,”隔开
省略var声明的变量都是全局变量
我们用typeof检测变量类型typeof变量或者 typeof(变量)
可以用控制台输出console.log()
Undifined类型只有一个值undifined,一般不需要把一个变量显示定义成undefined
Null值表示空对象指针,如果定义的变量准备将来用于保存对象,那么最好将改变量初始化为null而不是其他值。
由于undefined派生自null的,所以undefined==null是true
-Number表示浮点数和整数 –NaN:非数值是一个特殊的数值
任何涉及NaN的操作(比如NaN/10)返回都是NaN
NaN和任何值不相等包括本身
IsNaN(n)检测n是否是非数值,会尝试转换数值
三个函数Number()parseInt()parseFloat()
ToString()和String()转换成字符串,语法str.Tostring() String(str)
强制转换bool Boollean(abc)
ES的函数的参数不在意函数的类型和个数,定义2个可以传递1个,3个或者0
在函数内部是arguments对象来管理,其与数组类似可以用[n]来访问
JS一切皆对象和Python一样
JS有内置对象,就是浏览器自己封装好的一些对象,我们可以直接调用他的属性方法,
Array对象 创建数组new Array() 如果预先知道保存的数量,可以放进去括号,也可以传递需要的项
var color = new Array(3);
var nums = new Array(1,3,6,9);
或者 color = [1,2,3];
栈方法push() unshift() pop() shift()
Arrayobject.push(newele1,newele2,….newelex)
把参数添加到尾部,返回新长度
Unshift添加到头,pop删除最后,shift删除开头语法和push一样,但是pop和shift返回删掉的值
Join把数组中所有元素放入一个字符串arryObject.join(separator),返回字符串
Reverse颠倒顺讯arryObject.reverse(),arryObject.sort(sorty)字符串排序(12,15,23,88,9),里面接收一个比较函数比如function(x,y){return a<b}降序排列,a>b升序
arryObject.concat(array2,array3,….,arrayX) 连接两个或者多个数组,返回数组
arryObject.slice(start,end) start必选 end可选
splice删除arryObject.splice(index,count)删除从index处开始的0个或多个元素,返回数组
插入arryObject.splice(index,0,item1,…..itemX)在指定位置插入 index是起始位置
替换arryObject.splice(index,count,item1,…..itemX)count要删除的项
indexOf() , arryObject.indexOf(searchvalue,startIndex)从数组开头0开始向后查找
参数searchvalue:必需,要查照的项,startIndex:可选,起点位置的索引,返回number查找的项在数组中的位置,没有找到的情况下返回-1
lastIndexOf()语法一样,从末尾查找罢了
字符串对象
srtingObject.charAt(index)返回index位置的字符【这是以前用的,现在都用[]】
srtingObject.charcodeAt(index) 编码
stringObject.indexOf(“o”)搜索给定字符串,返回出现的位置(那个o),没找到返回-1
stringObject.lastindexOf(“o”) 从后面查找
截取slice() substring substr()
StringObject.slice(start,end) 负数时为字符串长度+负数
Str.substring(start,end) 与上面区别在于负数自动设0
Str.substr(start,len) len截取字符总数,负数则长度+负数
Splite str.split(separator)字符串用分割
Replacestr.replace(regexp/substr,replacement) 替换 regexp为正则表达式
Str.ToUpperCase() 大写化
Str.ToLowerCase() 小写化
Math对象方法
Math.max(num1,num2….)
Math.min(num1,num2….)
Math.ceil(num)上取整
Math.ceil(num)上取整
Math.floor(num)下取整
Math.round(num)上四舍五入
Math.abs(num)绝对值
Math.random(num)返回0-1的随机数
Random = Math.floor(Math.random()*(m-n+1)+n);
日期对象
New Data()
创建一个日期对象,返回当前时间