之前介绍的只是 JavaScript 的基本语法,今天要来介绍 DOM(Document Object Model),它可以操作所有的 HTML tag,让网页可以有互动及功能性,
首先要介绍的是 Window Object,JavaScript 运行的地方就是 window,无论开启的浏览器是 Chrome,Firefox 或 Safari...等,只要开启浏览器的瞬间,window object 就会出现,而 Window Object 包含了 methods 和 properties,如果我们在开启浏览器时 console.log(window)
可以看到一个非常巨大的物件,里面包含非常多的 methods 和 properties。
常见的 window object methods 有:addEventListener()
、alert()
、prompt()
、blur()
、print()
、setInterval()
、clearInterval()
、setTimeout()
、clearTimeout()
...等,这边先介绍几个较常使用的,而 addEventListener()
在 Event 的主题会详细介绍。
执行 window 的 methods 时,window 皆可省略
window.alert()
window.prompt()
要特别注意的是,在
prompt()
中输入的内容,最後都会是 String,所以要如果在 promt() 输入数字,就要使用Number()
,把输入的值由 String 转换为 Number
结合 alert() 和 prompt(),可以制作一个简单的效果,例如:
function myFunction() {
let person = prompt("请输入你的名字");
if (person != null) {
alert("Hello ! " + person );
}
}
myFunction();
执行这个 function 後,会跳出 prompt 视窗,输入名字後结果如下
按下确定後,就会跳出 Hello ! May 的 alert 视窗
window.setInterval()
function sayHi(){
console.log("Hi");
}
setInterval(sayHi,1000)
执行上面的程序码,我们会看到每隔一秒,就执行 sayHi 这个 function 一次
window.clearInterval()
<button onclick="stop()">Stop</button>
function sayHi(){
console.log("Hi");
}
let myInterval = setInterval(sayHi,1000)
function stop(){
clearInterval(myInterval);
}
执行上面的程序码後,点击停止按钮即执行 clearInterval,上面设定的每隔 1 秒执行一次的 setInterval function 就会马上停止。
这里来介绍 2 种 Window Object properties,这 2 种 Window Object properties 都是 Object,有自己的 methods 和 properties,不过要注意的是,不是所有的 Window Object properties 都是 Object!!!!!
常见的 Window Object properties 有 Console、Document、SessionStorage、LocalStorage、innerHeight、innerWidth、screen...等,今天先简单介绍 Console 和 Document 这两个。
console 的 properties 并不常拿来做使用,因此这里只介绍 console 的 methods。
console.table()
let people = ["Bob","Josh","Carol","Ann","Kelly"];
console.table(people); // 结果如下图
console.log()
console.log(123)
console.error()
console.error(123)
console.warn()
console.warn(123)
get...By()
return 的是 HTMLCollection
querySelectorAll()
return 的是 NodeList
Array 和 NodeList 可以使用 forEach,但是 HTMLCollection 无法使用 forEach
所以大多数人使用 querySelector 系列而不使用 get 系列,因为资料无法用 forEach 操作
有 body、doctype、charset、head...等。
querySelectorAll()
.
,选取 id 时要在前面加 #
。 <p class="test">Apple</p>
<p class="test">Banana</p>
<p class="test">Watermelon</p>
let test = document.querySelectorAll(".test");
console.log(test[0]); // <p class="test">Apple</p>
console.log(test); // 回传一个 NodeList,结果如下图
querySelector()
.
,选取 id 时要在前面加 #
。 <p class="test">Apple</p>
<p class="test">Banana</p>
<p class="test">Watermelon</p>
let test = document.querySelector(".test");
console.log(test); // <p class="test">Apple</p>
getElementById()
getElementsByClassName()
creatElement()
电源是一种向电力负载提供电力的电气设备。电源的主要功能是将电流从源头转换成正确的电压、电流和频率,为...
今天来带大家了解一下 NiFi 原生的 Monitoring 是怎麽运作的,像是 Disk, Mem...
永远的新手模式 「形成ing」的基本概念 科技生活是一连串的升级, 不论一种工具用了多久,无尽的升级...
接下来这几天,将会带领各位以GCP的架构的视角。 向各位阐述我们先前进行的DialogFLow F...
2013年由Spike Jonze执导,《云端情人》作为科幻取向的作品, 意外有别於总是导致灾难毁灭...