js小笔记---两个iframe页面通信、总是忘记的数组方法

两个iframe页面通信

传值的页面

function test4() {
let param = {
eventType: 'sessionSitch',
switchParam: '444'

}
let iframe = document.getElementById('mydivid');
iframe.contentWindow.postMessage(param, '*');
}

 //还有一些方法 如 

 //iframe.contentWindow.postMessage(message, location.origin);
 //top.postMessage(JSON.stringify({aa:'11',bb:[]}), targetOrigin)
 //parent.postMessage({aa:"111"}, targetOrigin)
 //window.postMessage({aa:"111"}, location.origin);
 //let jspath = './a/b/test.js'
 //let mywork = new Worker(jspath)
//mywork.postMessage({})
 

接值的页面

window.addEventListener('message', function (event) {
  if (event.origin !== 'https://huawei-3f-dev-ed--c.develop.vf.force.com') return;
    var data = event.data
 
});
 

总是忘记的数组方法:

1.找出某个元素在数组中的索引/返回数组中第一个与指定值相等的元素的索引,如果找不到这样的元素,则返回 -1。

fruits.push('Mango');
// ["Strawberry", "Banana", "Mango"]

var pos = fruits.indexOf('Banana');
// 1

2,
从一个索引位置删除多个元素
var pos = 1, n = 2;

var removedItems = vegetables.splice(pos, n);

3.将伪数组对象或可迭代对象转换为数组
console.log(Array.from('foo'));
// expected output: Array ["f", "o", "o"]

console.log(Array.from([1, 2, 3], x => x + x));
// expected output: Array [2, 4, 6]

Array.from(obj, mapFn, thisArg) 就相当于 Array.from(obj).map(mapFn, thisArg),

4.判断一个对象是否是数组

Array.isArray()

5.合并两个或多个数组

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);

var num1 = [1, 2, 3],
    num2 = [4, 5, 6],
    num3 = [7, 8, 9];

var nums = num1.concat(num2, num3);

浅拷贝,如果原来的对象修改了,新的对象的值也可能会改变。

6.连接所有数组元素组成一个字符串

const elements = ['Fire', 'Air', 'Water'];

console.log(elements.join());
// expected output: "Fire,Air,Water"

console.log(elements.join(''));
// expected output: "FireAirWater"

console.log(elements.join('-'));
// expected output: "Fire-Air-Water"

7.抽取当前数组中的一段元素组合成一个新数组。

slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。

8.返回一个由所有数组元素组合而成的字符串

const array1 = [1, 2, 'a', '1a'];

console.log(array1.toString());
// expected output: "1,2,a,1a"

迭代方法:

9.如果数组中的每个元素都满足测试函数,则返回 true,否则返回 false。

10.如果数组中至少有一个元素满足测试函数,则返回 true,否则返回 false

11为数组中的每个元素执行一次回调函数

12.将所有在过滤函数中返回 true 的数组元素放进一个新数组中并返回。

13.返回一个由回调函数的返回值组成的新数组。

14.从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。

15.从右到左为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。

posted @ 2021-05-18 00:20  花花张小花  阅读(74)  评论(0编辑  收藏  举报