concat:连接产生一个新数组
[1,2].concat([3,4])
>> [1, 2, 3, 4]
filter:返回符合条件的一个新数组
[1,2,3,4,5].filter(function aa(item){return item>3})
>> [4, 5]
indexOf:寻找元素所在的坐标
[1,2,3,4].indexOf(3)
>>2 //没有则返回-1
join:数组转为字符串
[1,2,3,4].join()
>> "1,2,3,4"
[1,2,3,4].join('——')
>>"1——2——3——4"
map:批量处理数组元素
[1,2,3].map(function aa(item){return item+1})
>>[2, 3, 4]
pop():删除数组最后一个元素
var a=[1,2,3]
a.pop() ----> 3
a ----> [1, 2]
push():尾部添加元素
var a=[1,2,3]
a.push('Hey') ----> 4 //数组的新长度
a -----> [1, 2, 3, "Hey"]
reverse():反转数组
[1,2,3].reverse()
[3, 2, 1]
shift():删除头部元素
var a=[1,2,3]
a.shift() -----> 1
a -----> [2, 3]
slice():截取一部分,返回一个新数组
[0,1,2,3,4].slice(1,3)
>>[1, 2]
sort():数组排序
[11,3,5,40].sort()
>>[11, 3, 40, 5] //40在5前面
[11,3,5,40].sort(function(a,b){return a-b})
>> [3, 5, 11, 40]
splice():删除与添加
var a=[1,2,3]
a.splice(1,1,'A','B') ----> [2] //返回被删除的元素
a -----> [1, "A", "B", 3]
删除指定位置元素:
var aa=[1,2,3,4] aa.splice(2,1) aa --> [1, 2, 4]
unshift():头部添加元素
var aa=[1,2,3]
aa.unshift(-1,0) ----> 5
aa ----> [-1, 0, 1, 2, 3]
includes():数组是否包含一个指定的值
let site = ['runoob', 'google', 'taobao']; site.includes('runoob'); //true
判断是否是数组:
ES6:
Array.isArray([]); // => true
Array.isArray
的polyfill通常长这样:
if (!Array.isArray){
Array.isArray = function(arg){
return Object.prototype.toString.call(arg) === '[object Array]';
};
}
字符串对象:
length:字符串长度
'abc'.length
>>3
charAt():根据字符位置查找字符
'abcd'.charAt(2)
>>"c"
concat():拼接字符串
'abc'.concat('123')
>>"abc123"
indexOf:查找字符所在的坐标
'123'.indexOf('2')
>>1 //没有则返回-1
match() :检索指定的值
replace():替换字符串
var a='123abcc'
var n=a.replace('c','WW')
a -----> "123abcc"
n -----> "123abWWc"
var a='123abcc'
var n=a.replace(/c/g,'WW')
n -----> "123abWWWW"
slice(): 提取部分字符串
'abcd'.slice(1,3) -----> "bc" //局部截取
'abcd'.slice(1) -----> "bcd" //x到尾
'abcd'.slice(-1) -----> "d" //最后一个
split():把字符串分割成字符串数组
'a b a'.split(' ') -----> ["a", "b", "a"] //返回一个新的数组,不影响原字符串
substr(x,y) : 提取x始y个字符串
'abcde'.substr(2,3) ------> "cde"
substring(a,b) : 提取a始b前的部分字符串
'abcde'.substring(1,3) ------> "bc"
字母大小转换:
'abCD'.toLocaleLowerCase() ------> "abcd"
'abCD'.toUpperCase() ------> "ABCD"
去除两端空白:
' a '.trim() -----> "a"
Js判断对象是否为空:
1.通过JSON自带的.stringify方法来判断:
3.ES6新增的方法Object.keys():
date对象:
获取今年的年份:
new Date().getFullYear() -----> 2019
返回当前月份数
new Date().getMonth() -----> 0
获取今天的天数:
(new Date()).getDate() -----> 21
获取星期几的数字:
(new Date()).getDay() -----> 1 //星期一
返回当前小时数:
new Date().getHours() -----> 14
返回当前的分钟数
new Date().getMinutes() -----> 28
获取历史累计毫秒数:
new Date().getTime() ------> 1548052377509
new Date('2019/01/21').getTime() ------> 1548000000000
new Date('2018-08-10 17:00').getTime() ------> 1533891600000
获取今天的时间:
new Date(Date.parse(new Date()))
>>Mon Jan 28 2019 10:13:26 GMT+0800 (中国标准时间)
获取前一天:
new Date(Date.parse(new Date())-1000*60*60*24)
>>Sun Jan 27 2019 10:14:09 GMT+0800 (中国标准时间)
全局函数:
isNaN() : 检查参数是否非数值
[isNaN(0), isNaN(2.3), isNaN('abc')] -------> [false, false, true]
Number():把对象转为数字
[Number(true), Number(false), Number('999 8'), Number('999a'), Number(new Date())]
>> [1, 0, NaN, NaN, 1548053176183]
parseFloat():返回字符串中的数字
[parseFloat("40years"), parseFloat("a40"), parseFloat("1.22")]
>>[40, NaN, 1.22]
parseInt():字符串转为数字
[parseInt("10"), parseInt("10as")]
>> [10, 10]
String():把对象转为字符串
String(true) -------> "true"
document对象:
获取当前获取焦点元素:
document.activeElement.tagName
返回文档中的body元素:
document.body
获取与当前文档有关的cookie:
document.cookie
创建 class 属性节点, 属性值为 "democlass":
att.value="democlass";
var t=document.createTextNode("CLICK ME");
btn.appendChild(t);
HTML5新增<input file>控件
利用此控件,用户可以一次上传一个或者多个文件,当文件被选中以后,会生成集合(FileList对象)。
集合中的每一个元素就是一个File对象
默认<input file>一次只能上传一个文件,需要添加multiple属性
lastModified : File 对象所引用文件最后修改时间(毫秒数)
lastModifiedDate 引用文件最后修改时间的 Date 对象。
name:引用文件的名字。
size: 返回文件的大小。
webkitRelativePath :返回 File 相关的 path 或 URL。
type :文件的类型
实例:
- FormData对象
- 用途:
1.用一些键值对来模拟一系列表单控件:即把form中所有表单元素的name与value组装成一个queryString;
2.异步上传二进制文件;