js知识点

querySelectorAll

通过querySelectorAll选择的元素,当元素变更时不会动态更改。该方法返回所有满足条件的元素,结果是个nodeList集合。
逗号运算符指的是返回最后一个。

箭头函数:

function fn1() {  console.log(1); }
fn1();
var fn2=function(){  console.log(2);};
fn2();//和fn1一样,注意函数的定义方式,执行才能调用。

var fn3=()=>{  console.log(3);};
fn3();//箭头函数,相当于把function拿掉,后面加上箭头=>,其它都一样
var fn4=()=>4;//如果不传参,必须写个括号,如果返回4可以不要后面的大括号,相当于return 4
var fn5=()=>{return 5};
console.log(fn4());//4
console.log(fn5());//5

var fn6= a =>a*2;
console.log(fn6(6));//12
//如果只穿一个参数,可以不加小括号,也可以加,这时候返回的就是参数运算。
var fn7=(b)=>b*3;
console.log(fn7(7));//21

var fn8=(c,d)=>c+d*2;
console.log(fn8(2, 3));//8

var fn9=(e,f)=>({num:e+f});
console.log(fn9(1, 2));//{num: 3}如果返回的是一个对象,必须用小括号括起来。

箭头函数里的this绑定的是所定义的作用域中的this
不可以当做构造函数
不可以使用arguments对象

扩展运算符...

可以将一个数组转为用逗号分隔的参数序列
可以取出参数对象的所有可遍历属性,拷贝到当前对象中。

Object.assign()

用于合并对象,将源对象中的所有可枚举属性,复制到目标对象

字符串

toUpperCase,toLowerCase转变字符串中的大小写字母
str.toUpperCase(); // 返回'HELLO'
indexOf()会搜索指定字符串出现的位置
s.indexOf('world'); // 返回7,没有找到指定的子串返回-1
substring返回指定索引区间的子串
s.substring(0, 5); // 从索引0开始到5(不包括5)

模板字符串,会自动替换字符串中的变量
var name = '小明';
var age = 20;
var message = `你好, ${name}, 你今年${age}岁了!`;
alert(message);

数组

es5中数组的几种方法
map(),filter(),every(),some()
es6中增加了,find()和findIndex()方法
indexOf()来搜索一个指定的元素的位置
arr.indexOf(30); // 元素30没有找到,返回-1

slice()就是对应String的substring()版本,它截取Array的部分元素,然后返回一个新的Array
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']
arr.slice(3); // 从索引3开始到结束: ['D', 'E', 'F', 'G']
slice()的起止参数包括开始索引,不包括结束索引,
如果不给slice()传递任何参数,它就会从头到尾截取所有元素。
利用这一点,我们可以很容易地复制一个Array

push()向Array的末尾添加若干元素,pop()则把Array的最后一个元素删除掉
arr.push('A', 'B'); // 返回Array新的长度: 4
arr.pop(); // pop()返回'B',返回删除的那个元素
arr.unshift('A', 'B'); // 往Array的头部添加若干元素,并返回新的长度:4
arr.shift(); // 'A'把Array的第一个元素删掉并返回
sort()可以对当前Array进行排序
reverse()把整个Array的元素给掉个个,也就是反转
concat()方法把当前的Array和另一个Array连接起来,并返回一个新的Array,如var added = arr.concat([1, 2, 3]);
join()把当前Array的每个元素都用指定的字符串连接,返回连接后的字符串

对象

JavaScript用一个var xiaoming ={birth: 1990...}表示一个对象,键值对出现并用,隔开。通过变量xiaoming(.操作符)来获取小明的属性如xiaoming.birth; // 1990
如果属性名包含特殊字符,就必须用''括起来
xiaohong['middle-school']; // 'No.1 Middle School'
xiaohong.name; // '小红,可以用xiaohong['name']来访问xiaohong的name属性,不过xiaohong.name的写法更简洁。

你可能感兴趣的:(js知识点)