fa

slice:

slice()是一个用于提取数组的一部分的方法。它可以接受两个参数,即起始索引和结束索引(可选)

const array = [1, 2, 3, 4, 5];

// 提取从索引2到索引4之间的元素
const slicedArray = array.slice(2, 4);

console.log(slicedArray); // 输出:[3, 4]

// 提取从索引2到数组末尾的所有元素
const slicedArray = array.slice(2);

console.log(slicedArray); // 输出:[3, 4, 5]

foreach :


[ ].forEach(function(value,index,array){
  //code something
});
//forEach()方法对数组的每个元素执行一次提供的函数。
//forEach方法中的function回调有三个参数:
//第一个参数是遍历的数组内容,
//第二个参数是对应的数组索引,
//第三个参数是数组本身

//forEach不支持break,会报错
//forEach中使用return无效,但不会报错


//如果要用return返回某个值,那就只能将return操作放在函数中,而不是forEach循环中,像这样:

function find(array, num) {
    let _index;
    array.forEach((self, index) => {
        if (self === num) {
            _index = index;
        };
    });
    return _index;
};

闭包:

var md5 = function(){
	function abc() {
		return zby++;
	}
	//假设有多个函数
	function test() {
		return zby--;
	}
	var zby = 200;
	return {
		a: test;
		b: abc
	}
	//return abc;
}();     //多加一个括号 代表已经执行完了


md5();  //正常来说 如果运行到这里  上面的abc等 已经运行完并被销毁了,  但这个没有 abc的局部引用已经给了md5
//闭包可以控制一些 作用域 防止重名   abc和zby都属于局部变量 不能被调用
//作用: 里面的局部变量 外面可以通过一定的方法去调用
var = 200;
function test() {
	var a = 100;
	return function() {return a;}
};

abc = test();
alert(abc);			//弹出的是function() {return a;}
alert(abc)();		//弹出的是100, 而不是200
posted @ 2024-01-12 14:41  Zenith_Yang  阅读(2)  评论(0编辑  收藏  举报