4个js作业总结

1.评论

        切换可以用toggle方法或者设置toggle变量实现

        toggle方法指的是添加或删除元素样式,如果有就增加样式,没有就删除样式;

        toggle变量的使用方法如下:

    var toggle;

    oSpread.onclick = function () {
      oSearch.style.display = toggle ? 'block' : 'none';
      oSpread.innerHTML = toggle ? '-' : '+';
      toggle = !toggle;
    }

为什么用innerHTML增加节点不生效?

2.鲜花排序

        思路:1.用对象数组储存order,flex布局,属性赋值;2.用对象数组储存元素节点,用innerHTML进行节点增加。

        1.对象的key的命名问题:

        在key名字符合标识符情况下,key加不加""都一样,读取key对应的value有两种方式:obj["key"]obj.key都可以;在名字不符合标识符情况下,key必须加"",读取key对应的value只能是obj["key"]

        标识符原则:

        1、首字母必须是字母、下划线(_)或美元符号($),不能是数字。

        2、除首字母外,其他字符可以是字母、数字、下划线或美元符号($)。

        3、普通标识符(用作变量名、函数名和循环语句中用于跳转的标记)不能是保留字符或关键字。

        4、在严格模式下,arguments和eval不能用作变量名,函数名或者参数名。

        2.随机数生成:

        Math.random() * m+n表示n~m+n的随机数。

        3.对象数组的排序问题:

        listArr为对象数组,要求按价格升序,a.price-b.price表示升序,b.price-a.price表示降序。

    oAscending.onclick = function () {
      listArr.sort(function (a, b) {
        return a.price - b.price;
      });
    }

        为什么用clearTimeout放在定时器后面会让定时器运行不了?

        4.与事件委托配合使用的方法:这里是因为难以点到li,所以要这样做。

function findParent(ele, type, parentTagName) {
      if (ele[type].toLowerCase() == parentTagName) {
        console.log(ele);
        return ele;
      }
      while (ele.parentNode[type].toLowerCase() !== parentTagName) {
        ele = ele.parentNode;
      }
      return ele.parentNode;
    }

3.标签墙

4.多重选项卡

       document.querySelectorAll获取的是类数组对象,不能使用foreach遍历。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值