1

以下我经常用,又总是记不住的几个方法

document.querySelectorAll 转成数组形式;

[].slice.call(document.querySelectorAll('div')).forEach(function(item,index){
    console.log(item,index);
});

获取iframe中的内容

var doc = document.querySelector('iframe').contentWindow.document;
var html = doc.body.innerHTML;

关键在contentWindow

页面标签加载完成事件

document.addEventlistener('DOMContentLoaded',function(e){
    console.log('ready');
},false);

关键在:DOMContentLoaded = dom content loaded

阻止浏览器事件默认行为

window.addEventlistener('mousewheel',function(e){
    console.log(e);
    e.preventDevault()
},false);

关键:preventDefault() ,记忆方法:pr event default

阻止事件冒泡

document.body.addEventlistener('click',function(e){
    console.log(e);
    e.stopPropagation()
},false);

关键:stopPropagation() ,记忆方法:stop Propa gation

数组的几个常用方法

var arr = [{a:3,b:2},{a:2,b:1}];

arr.forEach(function(item,index){
    //item 是数组的每一项 如{a:1,b:2}
    //index arr的下标,每一个元素的顺序
    //等同于一个单纯的for循环
    console.log(item,index);
});

var newArr = arr.map(function(item,index){
    //可以对item进行二次处理之后,再返回出去
    item.c = item.a;
    return item;
});
// map会返回一个新的数组,不会修改原数组

//排序 按照每一项的a值升序(由小到大)排序 
var newArr = arr.sort(function(v1,v2){
    return v1.a-v2.a>0?1:-1;
});
//newArr = [{a:2,b:1},{a:3,b:2}];

//过滤
var newArr = arr.filter(function(item,index){
    return item.a>2;
});
//newArr = [{a:3,b:2}];

一个json的操作

var obj = {a:1,b:3};
JSON.stringify(obj);// {"a":1,"b":3}
//字符串转json
JSON.parse(JSON.stringify(obj));
JSON.stringify(obj,null,4);//4:缩进大小,null:随便填
/**

{
    "a":1,
    "b":3
}

*/

//将所有key作为一个数组处理
Object.keys(obj); // ["a","b"]

//将所有value作为一个数组处理
Object.values(obj); // [1,3]

//合并两个json
Object.assign(obj,{a:2});//{a:2,b:3}

写的比较随意,还有很多,改天再写


jsoncode
4k 声望786 粉丝

I'm jsoncode