1,数据类型
Number:包括小数与整数,负数,NaN ,Infinity无限大
String字符串:‘abc’
Boolean布尔值:true or false
null 空
undefined 未定义
Array 有序,下标0开始
Object 键值对,无序
2.各种数据的转换
3,闭包
4,递归
==与===
===是严格等于,==会自动转换数据类型
NaN===NaN false
isNaN(NaN) true
字符串的方法(不会改变原来的字符串,只会生成一个新的)
s.toUpperCase() 全部变大写
s.toLowerCase() 全部变小写
s.indexOf('a') 返回搜索字符出现的位置,如果没有就是-1
s.substring(0,5),从0开始,到5之前,只有一个参数就是到结束为止
数组方法
arr.indexOf('a') 同 string
arr.slice(0,2) 截取某个区间的值,返回新数组,不包含最后一个值,只有一个参数到结束
arr.concat(arr1)数组相连 新数组
以下会改变原来的数组,返回数组的长度
arr.push() 末尾添加
arr.push() 末尾删除
arr.unshift() 头部删除
arr.shift() 尾部删除
arr.sort() 排序
arr.reverse() 翻转
arr.splice(0,2,3)从0位置开始,截取两个,并把3插进去
arr.join('-'),把当前数组元素用-链接起来,返回新的字符串
对象:
如果访问一个不存在的属性会返回什么呢?JavaScript规定,访问不存在的属性不报错,而是返 回undefined: (if(obj.c=='undefined')如果没有会返回true)
删除某个属性 delete xiaoming.name
检测是否有某个属性
attr in xiaoming 返回布尔,这个方法会返回所有的属性,包括继承得来的
xiaoming.hasOwnProperty(attr),只是自己的方法,不包含继承