博客列表 >0107作业

0107作业

后网络时代
后网络时代原创
2021年01月10日 23:54:54654浏览

1. 实例演示事件代理的实现机制

答:事件代理有叫事件委托,根据事件冒泡的特点,触发子元素的事件,父元素的同名事件也会被触发,所以我们一般把元素的事件交给它的父元素的同名事件取出来的。
demo:

  1. <lu>
  2. <li>item1</li>
  3. <li>item2</li>
  4. <li>item3</li>
  5. </lu>

源代码:

  1. document.querySelector('ul').addEventlistener(
  2. 'click',
  3. ev=>{
  4. console.log(ev.currentTarget);//事件的绑定者
  5. console.log(ev.target);//事件的触发者
  6. console.log(ev.target.innerHTML);
  7. }
  8. )

2. 完成留言板,添加留言删除功能


源码:

  1. document.write();
  2. let divs=document.createElement('div');
  3. document.appendChild(divs);
  4. let input=document.createElement('input');
  5. input.setAttribute('type','text');
  6. input.setAttribute('name','liuyan');
  7. input.style.width="300px";
  8. input.style.height="30px";
  9. document.querySelector('div').appendChild(input);
  10. let ul=document.createElement('ul');
  11. document.querySelector('div').appendChild(ul);
  12. let info=document.querySelector('input');
  13. info.onkeydown=ev=>{
  14. if(ev.key=='Enter'){
  15. if(ev.currentTarget.value.length===0) {
  16. alert('不能为空') ;
  17. }else{
  18. let liuy=document.createElement('li');
  19. liuy.innerHTML=ev.currentTarget.value+"<em>删除<em>";
  20. liuy.querySelector('em').onclick=function (ev){
  21. document.querySelector('ul').removeChild(ev.target.parentNode);
  22. }
  23. document.querySelector('ul').appendChild(liuy)
  24. }
  25. }
  26. }

直接在控制台运行

3. 自选不少于10个字符串方法进行练习

答:

  1. console.log('字符窜方法练习:');
  2. let str="hello";
  3. str=str.concat('world','字符窜开始操作')
  4. console.log('%cconcat()连接字符窜');
  5. console.log('%cconcat()连接字符窜');
  6. console.log('%cconcat()连接字符窜','color:red');
  7. console.log('%c-----------------------------------------------','color:cyan');
  8. -----------------------------------------------
  9. console.log('%c取子串slice','color:blue');
  10. let str1="mamashuojiusuannideyumingzaichangbaiduyenengsousuochulai";
  11. str1.slice(0,3)
  12. "mam"
  13. str1.slice(5,3)
  14. ""
  15. str1.slice(-1,-1)
  16. ""
  17. str1.slice(0,-1)
  18. "mamashuojiusuannideyumingzaichangbaiduyenengsousuochula"
  19. str1.slice(-10)
  20. "usuochulai"
  21. console.log('slice(start,end)注意不包含end位置');
  22. console.log('substr(start,lenght)','color:#fff')
  23. console.log('substr(start,lenght)')
  24. console.log('%csubstr(start,lenght)','color:#fff')
  25. str1.substr(0,10);
  26. str1.substr(10,10);
  27. str1.substr(20);
  28. "umingzaichangbaiduyenengsousuochulai"
  29. str1.substr(-1);
  30. console.log('trim()删除字符窜首位空格');
  31. let str2=" php ";
  32. console.log('---',str2,'---')
  33. console.log('---',trim(str2),'---')
  34. console.log('---',trim.str2,'---')
  35. console.log('---',str2.trim(),'---')
  36. let str3="php";
  37. console.log('---',str3,'---');
  38. console.log('%c-----------------------------------------------','color:cyan');
  39. -----------------------------------------------
  40. console.log('split(para)para分隔符');
  41. split(para)para分隔符 debugger eval code:1:9
  42. let str4="php|.com"
  43. str4.split('|')
  44. Array [ "php", ".com" ]
  45. str4.split('@')
  46. Array [ "php|.com" ]
  47. str4.split('')
  48. Array(8) [ "p", "h", "p", "|", ".", "c", "o", "m" ]
  49. str4.split()
  50. Array [ "php|.com" ]

  1. console.log('计算字符串长度:')
  2. let str1=""abcdefg;
  3. console.log(str1.length)
  4. console.log('字符串大小写转化:')
  5. str1.toUpperCase()
  6. "MAMASHUOJIUSUANNIDEYUMINGZAICHANGBAIDUYENENGSOUSUOCHULAI"
  7. str1.toUpperCase().toLocaleLowerCase()
  8. "mamashuojiusuannideyumingzaichangbaiduyenengsousuochulai"
  9. console.log('获取单个字符串:')
  10. str1.charAt(0)
  11. str1.charAt(1)
  12. console.log('查找子串')
  13. str1.indexOf('mamashuo')
  14. str1.indexOf('shuo')
  15. str1.indexOf('Xshuo')
  16. str1.indexOf('shuo',10)
  17. str1.indexOf('shuo',1)
  18. debugger eval code:1:1
  19. str1.lastIndexOf('shuo')
  20. let str5="php@php"
  21. str5.lastIndexOf('php')
  22. str5.indexOf('php')

4. 预习常用的数组方法

答:

  1. console.log('数组练习:')
  2. console.log('slice(start,end):截取数组元素')
  3. let slicarr=[1,2,3,4,5,6,7]
  4. slicarr.slice(0,2)
  5. slicarr.slice(1,2)
  6. console.log('join数组转化成字符串“”')
  7. let arr=new Array('www','baidu','com')
  8. let str=arr.join()
  9. str=arr.join('')
  10. console.log('数组排序函数:sort')
  11. let ar=[10,2,3]
  12. ar.sort()
  13. Array(3) [ 10, 2, 3 ]
  14. function numcomper(a,b){ return a-b;}
  15. ar.sort(numcomper);
  16. console.log('堆栈方法:')
  17. let arr=new Array();
  18. arr.push(9);//返回值是1
  19. arr.push(1,2,3);//返回值是arr的长度
  20. arr.pop();//弹出最后一个元素
  21. //再说不操作数组
  22. let arr1=[];
  23. arr1.unshift(1)//返回1
  24. arr1.unshift(110)//返回2
  25. arr1.shift()//返回10
  26. //数组组合
  27. console.log([1,2,3].concat([4,5],6,7,8,9));
  28. //数组截取:
  29. console.log([1,4,7,2,5,8,3,6,9].slice(1));
  30. //数组元素的删除:splice(start,lenght:删除长度,text:删除后插入的数据)返回别删除的吧元素
  31. arrx=[1,2,3,4,5]
  32. arrx.splice(2,2,'------')//返回删除的数据(数组形式的)
  33. arrx//[1,2,'------',5]
  34. //新增数据
  35. arrx.splice(10,...[8,9,10])
  36. //遍历:
  37. //forEach
  38. //array.forEach(function(currentValue, index, arr), thisValue)
  39. // currentValue 必需。当前元素 index 可选。当前元素的索引值。arr 可选。当前元素所属的数组对象。thisValue 可选。传递给函数的值一般用 "this" 值。如果这个参数为空, "undefined" 会传递给 "this" 值
  40. //返回值: undefined
  41. let arra=[1,2,3,4,5,6,7,8,9];
  42. arra.forEach(item=>console.log(item))//没有返回值
  43. //array.map(function(currentValue,index,arr), thisValue)
  44. //currentValue 必须。当前元素的值
  45. //index 可选。当前元素的索引值
  46. //arr 可选。当前元素属于的数组对象
  47. //在一个对象上操作时给thisValue传递this代表该对象
  48. 返回值: 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
  49. rs=arra.map(item=>item*2)//没有返回值
  50. //过滤
  51. //array.filter(function(currentValue,index,arr), thisValue)
  52. //currentValue,index,arr,thisValue同上
  53. //返回值: 返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。
  54. let arra11=[1,2,3,4,5,6,7,8,9];
  55. res=arra11.filter(item=>item%2);
  56. //归内方法
  57. //reduce(callback(pre,curr),start)
  58. let arra2=[1,2,3,4];
  59. rs=arra2.reduce((pre,curr)=>pre+curr)
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
后网络时代2021-01-09 18:41:521楼
格式是什么样的,我的是直接在控制台运行即可,老师说具体可以吗?