A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 众生 初级黑马   /  2019-6-6 08:42  /  964 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

数组方法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
    };
    var result = Object.keys(obj)
    console.log(result)//[id,pname,price,num]

3.8Object.defineProperty

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指向.

ES6新增语法
let关键字【声明变量】
    作用:声明变量的
语法:let 变量名 = 值;
特点:
1)使用let声明的变量,具有块级作用域
2)没有变量提升,必须先声明再使用
const关键字【声明常量】
作用:声明常量:值(内存地址)不可以变
语法:const 常量名 = 初始值;
1)声明常量时,必须赋初始值
2)具有块级作用域(只在当前代码块中有效)
数组的扩展语法
Array.from()方法【把伪数组转成真数组,并且还可以去遍历数组】
数组.find()方法【查找满足条件的第1个元素】
数组.findIndex()方法【查找满足条件的第1个元素的索引】
数组.includes()方法【判断是否有某个元素】
字符串的扩展语法
模板字符串【定义字符串的新方式】
      语法:let str = `字符`;
      字符串中可以使用变量, ${变量}
      特点
              字符串中可以换行
              字符串中还可以调用函数, ${调用函数}
startsWith()方法
endsWith()方法
repeat()方法
set【集合】
数组是一组数据的有序集合,数组中的每个数据叫做“元素”。
set是一堆的数据集合,类似数组。但是set集合中的数据不能重复。
    创建set  
          var s1 = new Set();
   方法
           add()方法,给set集合添加元素
          delete()方法,删除set集合中的某个元素
           has()方法,判断set集合中是否有某个元素
           clear()方法,清空set集合。
             .forEach()方法,遍历set集合
    属性
       .size属性,获取集合中元素的个数































0 个回复

您需要登录后才可以回帖 登录 | 加入黑马