zoukankan      html  css  js  c++  java
  • 事件补充;对象操作;字符串类型操作;数组操作;数字类型操作

    1.事件绑定函数

    var  a=document.querySelector('')

    a.onclick=function h()

    先有函数

    a.onclick=function h绑定地址

    完成事件的绑定后, 绑定的函数由系统来调用, 系统在用户触发事件时来调用
    box.onclick = function () {
    alert(this.innerText)

    循环绑定的变量污染
    for (var i ;i<6;i++)
    {a[i].onclick=function h()}
    处理办法
    for (var i ;i<6;i++) a[i].ad=i
    {a[i].onclick=function h()}

    / 循环绑定时. i分别是0,1,2,3, 也就给每一个li进行了点击事件的绑定
    lis[i].onclick = function () {
    // 在事件绑定时,没有执行事件内部的逻辑体, 在绑定结束后, 激活事件时, 才会执行
    // 循环结束后, i值定格在4, 索引在激活事件执行功能时,拿到的i的值全部是4
    // 需求1: 打印li的索引
    // console.log(i)
    // 解决:每一个li都有index属性,取出自己(this)的索引
    console.log(this.index)
    // 需求2: 打印自身内容
    // console.log(lis[i].innerText)
    // 解决: this就能唯一指向当前激活事件的那个li对象
    console.log(this.innerText)




    对象操作
    a.
     创建一个对象

    // 了解: 面向对象js编程
    function Person(name, age) {
    this.name = name;
    this.age = age;
    this.work = function () {
    console.log(this.name + "在工作");
    }
    }

    var p1 = new Person("egon", 79);
    var p2 = new Person("kevin", 78);
    var p3 = new Person("jerry", 3);
    console.log(p1.name);
    console.log(p2["age"]);
    p3.work();


    var obj = {
    name1: "egon",
    name2: "tank",
    age: 79
    }

    for (var i = 1; i <=2; i++) {
    console.log(obj["na" + "me" + i])
    }

    // 对象的key(属性名)就是字符串类型


    // 作为字典来使用 *****
    var dict = {
    a: "AAA",
    b: "BBB"
    }
    dict.a
    增  dict.a=
    删 delete dict.a
    改 dict.a=


    数字类型

    Math .max,min ,random(),floor 向下取整 abs 绝对值

    [min, max]
    // 公式: parseInt(Math.random() * (max - min + 1)) + min


    字符串
    .indexof(‘’)
    .lastindexof(‘’) 找到最 后一个索引 没有取-1
    .charAt()相对于[]索引取值
    .replace(‘’ ‘’) 后者替换前者
    var b=a.slice (n,m)
    从索引n开始截取到索引m之前  形成新字符串
    var arr = s.split("c");
    console.log(arr)
    切分

    数组
    / 1.反转
    arr.reverse();
    console.log(arr); // [4, 2, 1, 5, 3]

    // 2.排序
    arr.sort();
    console.log(arr); // [1, 2, 3, 4, 5]
    console.log(arr.reverse()); // [5, 4, 3, 2, 1]

    // 3.判断元素是否存在 (不等于-1就是存在)
    console.log(arr.indexOf(5));

    // 4.拼接成字符串
    var ss = arr.join("@");
    console.log(ss); // 5@4@3@2@1

    // 5.过滤器 (保留符合条件的结果)
    var newArr = arr.filter(function (ele) { // 回调函数的回调次数有数组的个数决定
    // filter回调了三个参数: ele, index, sourcerr

    // 偶数
    if (ele % 2 == 0) {
    // 满足过滤条件
    return true;
    }
    // 不满足过滤条件
    return false;
    });
    // 满足过滤条件的就会添加到新数组中保留
    console.log(newArr) // [4, 2]

    /*原理
    arr.filter(fn) {

    var newArr = [];
    for (var i = 0; i < this.length; i++) {
    var res = fn(this[i], i, this);
    if (res == true) {
    newArr.push(res)
    }
    }
    return newArr;
    }
    */

    </script>
    <script>
    console.log("-----------------------");
    var a = [4, 3, 5, 1, 2];

    a.push(6);
    console.log(a);
    a.unshift(0);
    console.log(a);

    var res = a.pop();
    console.log(a, res);
    res = a.shift();
    console.log(a, res);


    // splice(begin, length, ...eles);
    // begin开始的索引
    // length操作的长度
    // 替换为的新元素们(可以省略)

    // 增
    // 从索引3之前操作0位,替换为10 => 在索引3插入10
    a.splice(3, 0, 10); // [4, 3, 5, 10, 1, 2]
    console.log(a);

    // 在索引0之前操作0位,替换为1,2 => 在首位添加1和2
    a.splice(0, 0, 1, 2);
    console.log(a); // [1, 2, 4, 3, 5, 10, 1, 2]

    // 改
    // 在索引末尾之前操作1位,替换为20 => 在末位修改为20
    a.splice(a.length - 1, 1, 20); // [1, 2, 4, 3, 5, 10, 1, 20]
    console.log(a); // [1, 2, 4, 3, 5, 10, 1, 20]

    // 删
    a.splice(2, 3);
    console.log(a); // [1, 2, 10, 1, 20]







  • 相关阅读:
    如何在一台主机上管理自己的多个git repository
    Linux deepin 中Jetbrain Idea等软件中文显示异常
    使用openmp进行并行编程
    使用pthread进行编程
    使用openmp进行共享内存编程
    并行与分布式计算之并行硬件与并行软件
    算法笔记刷题5(PAT A1025)
    算法笔记刷题4(PAT B1009)
    算法笔记刷题3(codeup 5901)
    算法笔记刷题2(codeup 1928)
  • 原文地址:https://www.cnblogs.com/wrqysrt/p/10315379.html
Copyright © 2011-2022 走看看