黑马程序员技术交流社区
标题:
js
[打印本页]
作者:
众生
时间:
2019-6-6 08:42
标题:
js
数组方法forEach遍历数组
arr.forEach(function(value, index, array) {
//参数一是:数组元素
//参数二是:数组元素的索引
//参数三是:当前的数组
})
//相当于数组遍历的 for循环 没有返回值
数组方法filter过滤数组
var arr = [12, 66, 4, 88, 3, 7];
var newArr = arr.filter(function(value, index,array) {
//参数一是:数组元素
//参数二是:数组元素的索引
//参数三是:当前的数组
return value >= 20;
});
console.log(newArr);//[66,88] //返回值是一个新数组
数组方法some
some 查找数组中是否有满足条件的元素
var arr = [10, 30, 4];
var flag = arr.some(function(value,index,array) {
//参数一是:数组元素
//参数二是:数组元素的索引
//参数三是:当前的数组
return value < 3;
});
console.log(flag);//返回值是布尔值,只要查找到满足条件的一个元素就立马终止循环
3.6trim方法去除字符串两端的空格
var str = ' hello '
console.log(str.trim()) //hello 去除两端空格
var str1 = ' he l l o '
console.log(str.trim()) //he l l o 去除两端空格
3.7获取对象的属性名
Object.keys(对象) 获取到当前对象中的属性名 ,返回值是一个数组
var obj = {
id: 1,
pname: '小米',
price: 1999,
num: 2000
};
Object.defineProperty设置或修改对象中的属性
Object.defineProperty(对象,修改或新增的属性名,{
value:修改或新增的属性的值,
writable:true/false,//如果值为false 不允许修改这个属性值
enumerable: false,//enumerable 如果值为false 则不允许遍历
configurable: false //configurable 如果为false 则不允许删除这个属性 属性是否可以被删除或是否可以再次修改特性
})
改变函数内部 this 指向
call()方法调用一个对象。简单理解为调用函数的方式,但是它可以改变函数的 this 指向
应用场景: 经常做继承.
apply方法
apply() 方法调用一个函数。简单理解为调用函数的方式,但是它可以改变函数的 this 指向。
应用场景: 经常跟数组有关系
bind方法
bind() 方法不会调用函数,但是能改变函数内部this 指向,返回的是原函数改变this之后产生的新函数
如果只是想改变 this 指向,并且不想调用这个函数的时候,可以使用bind
应用场景:不调用函数,但是还想改变this指向
call、apply、bind三者的异同
- 共同点 : 都可以改变this指向
- 不同点:
- call 和 apply 会调用函数, 并且改变函数内部this指向.
- call 和 apply传递的参数不一样,call传递参数使用逗号隔开,apply使用数组传递
- bind 不会调用函数, 可以改变函数内部this指向.
- 应用场景
1. call 经常做继承.
2. apply经常跟数组有关系. 比如借助于数学对象实现数组最大值最小值
3. bind 不调用函数,但是还想改变this指向. 比如改变定时器内部的this指向.
let关键字【声明变量】
作用:声明变量的
语法:let 变量名 = 值;
特点:
1)使用let声明的变量,具有块级作用域
2)没有变量提升,必须先声明再使用
const关键字【声明常量】
作用:声明常量:值(内存地址)不可以变
语法:const 常量名 = 初始值;
1)声明常量时,必须赋初始值
2)具有块级作用域(只在当前代码块中有效)
数组的扩展语法
Array.from()方法【把伪数组转成真数组,并且还可以去遍历数组】
数组.find()方法【查找满足条件的第1个元素】
数组.includes()方法【判断是否有某个元素】
字符串的扩展语法
模板字符串【定义字符串的新方式】
语法:let str = `字符`;
字符串中可以使用变量, ${变量}
特点
字符串中可以换行
字符串中还可以调用函数, ${调用函数}
repeat()方法
set【集合】
数组是一组数据的有序集合,数组中的每个数据叫做“元素”。
set是一堆的数据集合,类似数组。但是set集合中的数据不能重复。
创建set
var s1 = new Set();
方法
add()方法,给set集合添加元素
delete()方法,删除set集合中的某个元素
has()方法,判断set集合中是否有某个元素
clear()方法,清空set集合。
属性
.size属性,获取集合中元素的个数
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2