CMoney软体工程师战斗营_Week 13

由于疫情的关係
大家已在家学习一个月
原本想说最要克服的是自制力
但没想到事情多到
我也没时间发闲~~~

本週分领域学习:
Web-JavaScript

js笔记

引入:行内引入,内部引入,外部引入,动态引入

JS引入

行内引入→body: onload="alert('String要引号')">

内部引入→window.alert('内部引入')

外部引入→

动态引入

动态引入1→document.write('</script>');

动态引入2

<script>    const elemHead = document.getElementsByTagName('head')[0];    const elemScript = document.createElement('script');    elemScript.src = './js/dynamic.js';    elemHead.appendChild(elemScript);  </script>

DOM(document Object Model)

选取

document.getElemenByID('idname')querySelector('#idname')→缺点是如果今天抓的是有多个的class,只会抓取第一个querySelectorAll(.classname)

操作

改变文字:textContent→document.querySelector('#id').textContent='Fanny';

加入HTML:innerHTML→document.querySelector('#id').innerHTML='test';→资安疑虑,如果有放入表单输入资料,容易被攻击

更改影像:src→document.querySelector('#pic').src='./img/'

加入CSS:style→document.querySelector('#id').style.borderLeft='solid 2px red';

:document.querySelector('#pic').setAttribute('src','./img....');

:document.querySelector('#pic').setAttribute('style','border: solid..');

套用格式:className→document.querySelector('#').className+=' .敲一个空格';

较直观的套用格式:classList→document.querySelector('#').classList.add(' classname', 'gg'); 注意:名字就好

event

click

document.querySelector('#id').addEventListener('click',function(){alert(''Hi)});箭头函式:document.querySelector('#id').addEvenListener('click',()⇒{});

mouse

document.querySelector('#id').addEventListener('mouseenter',function(){document.querySelector('#id').src='./img...'}); 红色部分可改thisdocument.querySelector('#id').addEventListener('mouseleave',function(){document.querySelector('#id').src='./img...'});用this不能用箭头函式,this会是window,而window他没有src属性

keyup

document.querySelector('#id').addEventListener('keyup',function(e){if(e.keycode===13){alert(this.value)}} ); this是整个表单alert出来是字串!

额外补充:→抓表单值抓value

change

document.querySelector('#id').addEventListener('change',function(){alert('this.value')});

事件流Propagation:boxin,boxout

js预设冒泡→从点选对象往上层

捕获→

document.querySelector('#boxin').addEventListener('click',function(){console.log(this.id);e.stopPropagation;});

number

累加→设定button被监听到click时做++乱数→const RandNum=Math.random();10倍乱→document.querySelector('#id').textContent=RandNum*10;10倍四捨五入→document.querySelector('#id').textContent=Math.round(RandNum*10);无条件捨去→document.querySelector('#id').textContent=Math.floor(RandNum*10);无条件进位→document.querySelector('#id').textContent=Math.ceil(RandNum*10);

String

const str='list';

const str=''+'list'+<'/ul'>;

const str='<li>list</ul>';

const str=<ul><li>list</li></ul>

document.querySelector('#list').innerHTML=str;

const age=20;

const str=我今天${age}岁;→IE11以下不支援

变数型态:boolean, undefined, null

boolean→const isMobile=window.innerWidth≤480;

console.log(isMobile);

undefined→宣告却未赋

null→指向空

array&object

let arr=new Array();

arr=[1,2,3,4,'book'];

const arr=new Array(5, 6, 7, 'hi');

let arr=[];

arr=[2, 4, 5, 'go'];

const arr=[1, 3, 5, 'now'];

物件阵列

const obj=new Object();

obj.name='Fanny';

const obj={};

obj.age=30;

const obj={

name:'Fanny',

age=30

};

取物件长度:

object.keys(obj).length

function-for/if-else

可以独立取出来

interval&timeout

定时器interval

let count=0;setInterval(function(){...},1000);//毫秒

暂停器timeout

let count=0;setTimeout(function(){...},2000);//2秒后暂停

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章