jsdom元素、数组以及排序

js dom元素的事件

js 事件(js的事件前缀都带on)
  1. 键盘事件
  2. 表单事件
  3. 鼠标事件
  4. 浏览器事件
  5. 触屏事件
    <1>onkeydown(键盘按下) onkeyup(抬起) onkeypress(按键)
    <2>onfocus(获得焦点) onblur(失去焦点)
    <3> onclick(单击) ondbclick(双击) onmouseleave(水平离开) onmouseout(离开) onmousemove(鼠标移动) onmouseenter(鼠标进入) onmouseover(鼠标悬停) onmousewheel(鼠标滚轮)
    <4>window事件 onload(加载完成) onresize(窗口变化) onerror(报错) onscroll(滑动)
    <5>touch(触屏) touchstart (开始触屏 ) touchmove(触屏移动) touchend(触屏结束)
给dom元素添加事件

常规添加

function btndou(a) {
        console.log(a);
    }

动态添加

var btn = document.getElementById("btn");
    btn.onclick = function () {
        console.log(1);
    }

数组
赋值一个参数.代表数组长度

var arr = new Array(2);//赋值一个参数  代表的是数组的长度
        console.log(arr);

join 是驻足转化为string 参数是按照什么符号拼接

 console.log(k.join("|"));

reverse 数组的翻转

console.log(k.reverse());

slice 截断数组 参数 start end 索引 取小不取大 截取完成之后对原数组没有影响

 console.log(k.slice(0, 2));
console.log(k);

splice 参数 start count 截取完成之后对原数组有影响

 console.log(k.splice(0, 3));
 console.log(k);
 

数组追加的方法
push数组内容之后追加 返回的值是数组的长度
console.log(k.push(0));
console.log(k);
unshift内容之前追加 返回值是数组的长度
console.log(k.unshift(-1));
console.log(k);
shift数组的删除 删除前面的 返回值是删除的值
console.log(k.shift());
console.log(k);
pop 删除是最后边的 返回值是删除的值
console.log(k.pop());
sort 排序的方法

#### 冒泡排序
console.time()
    var a = [10, 2, 1, 4, 3, 5, 7, 6, 9, 8];
    //冒泡
    for (var i = 0; i < a.length; i++) {
        var temp = null;
        for (var k = 0; k < a.length - 1; k++) {
            if (a[k] < a[k + 1]) {
                temp = a[k + 1];
                a[k + 1] = a[k];
                a[k] = temp;
            }
        }
    }
    console.log(a);
    console.timeEnd()
选择排序
var arr = [1, 3, 2, 5, 4, 7, 6];
    console.time();
    function selectsort(a) {
        var minindex = 0;
        var temp = null;
        for (var i = 0; i < a.length; i++) {
            minindex = i;2
            for (var k = i + 1; k < a.length; k++) {
                if (a[k] < a[minindex]) {
                    minindex = k;
                }
            }
            temp = a[i];
            a[i] = a[minindex];
            a[minindex] = temp;

        }
        console.log(a);
    }
    selectsort(arr);
    console.timeEnd();
快速排序
var res = [1, 18, 16, 0, 4, 2, 7, 5];
    function qucksort(r) {
        if (r.length < 2) {
            return r;
        }
        var centerindex = parseInt(r.length / 2);
        var num = r.splice(centerindex, 1)[0];
        var left = [];
        var right = [];
        for (var i = 0; i < r.length; i++) {
            if (r[i] < num) {
                left.push(r[i]);
            }
            else {
                right.push(r[i]);
            }
        }
        return qucksort(left).concat(num).concat(qucksort(right));
    }
    console.log(qucksort(res));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值