今天內容
1、javascript歷史 了解
2、javascript引入 重點
3、變數 重點
4、樣式操作 重點
javascript引入
1、行內 不建議使用
是在開始標簽內 寫入js的代碼
注意:我們一般不使用行內,因為會降低服務器或者瀏覽器的性能,增加維護的難度
<!-- 需求:在開始標簽內寫入一個點擊事件,然后彈出一個框 -->
onclick:單擊事件名稱
alert():他是js自帶的彈窗,帶有一個確定按鈕,具有阻塞(如果我不點擊確定,后面的代碼不會執行)作用,只是用來測驗使用不能用于實際開發
<div onclick="alert('我是行內js')"></div>
2、內部(內嵌)
- 在使用內部的js的時候,需要使用script雙標簽,所有的js代碼必須放在這個script雙標簽之間
- 這個script雙標簽可以放在頁面的任何位置,但是建議放在head和body的結束標簽之前
<script>
alert('我是內部的js使用');
</script>
3、外部
使用外部js需要在外部建立一個外部的js檔案,擴展名.js
在頁面中使用script雙標簽,使用屬性src鏈接外部js的路徑
可以放在頁面的任何位置,但是建議放在head和body的結束標簽之前
<script src=https://www.cnblogs.com/bnzw/p/"./index.js"></script>
4、偽協議
這個偽協議是針對超鏈接 只要用到js操作超鏈接
就需要在超鏈接的屬性href寫入javascript:;
<a href="javascript:;"></a>
// document:檔案
// get:獲取
// set:設定
// Element:元素
// By:通過
// Id:id
// 通過id獲取這個元素
document.getElementById('a').onclick = function(){
alert('123')
}
放置位置的問題
window.onload :
原因:代碼的加載順序是從上到下,從左到右,找不到元素的
window.onload就是先去加載頁面的資源(標簽,文本,圖片等等)在去加載window.onload里面的js代碼
注意:一個頁面中,只能有一個window.onload,如果有多個,后面的會覆寫前面的
// 使用window.onload
window.onload = function () {
document.getElementById('box').onclick = function () {
// 事件觸發后,元素執行的動作代碼塊
alert(123);
}
}
注釋
單行: // 只能注釋一行代碼 ctrl+/
塊注釋:/*注釋的代碼*/ 可以注釋多行代碼 ctrl+ /
檔案 - 首先項 - 鍵盤快捷方式
引號
單引號和雙引號的作用是一樣的
使用:不管是單引號還是雙引號必須成對出現,不能交叉使用
// 如果外面是雙引號,里面必須使用單引號 反之亦然
alert("我是單引號'和'雙引號結合使用");
javascript入門三部曲
// 需求:單擊span,彈出“我被點擊了”
// 1、誰發生事件 找元素 獲取到
// document.getElementById('span')
// 2、確定發生什么事件
// 單擊事件 onclick
// 3、干什么事 彈出“我被點擊了”
document.getElementById('span').onclick = function(){
alert('我被點擊了');
}
事件
onclick 單擊事件
onmouseover 滑鼠經過事件
onmouseout 滑鼠離開的事件
onmouseleave 滑鼠離開的事件
onmouseenter 滑鼠經過事件
onmousedown 滑鼠按下事件
onmouseup 滑鼠抬起事件
onmousemove 滑鼠的移動的事件
oncontextmenu 滑鼠右鍵事件
變數
變數就是用來存盤值得一個容器
我們在宣告變數的時候,要使用關鍵字 var
注意:先宣告后使用

// 在js里面,一個變數的資料型別,是有等號右邊的值來決定的
var a = 10;
var b = 0.2;
變數的宣告規則
1、使用字母、下劃線、$開頭
2、使用字母、下劃線、$、數字組成
3、不能使用關鍵字和保留字(就是現在不是關鍵字,但是將來會成為關鍵字的字)
4、遵循駝峰命名法(當變數名由兩個單詞或者兩個以上的代詞構成的時候,從第二個單詞開始,首字母要大寫)
5、有語意化
// 變數的宣告規則
var userName= '張三';
var passWord = '123';
變數的宣告方式
- 宣告一個變數,并賦值
var a = 10;
- 同時宣告多個變數并賦值,多個變數之間用逗號隔開
var a = 10, b = 20, c = 30, d = 40;
- 同時宣告多個變數,并分開賦值
var sum,num,str,start;
sum=10;
num=20;
str=30;
start=40;
元素屬性操作
原有屬性:也就是元素本身自帶的屬性
<img src=https://www.cnblogs.com/bnzw/p/"路徑">
非原有屬性:是我們通過外部的方式給重新起名,并且重新賦值
<div abvc="123"></div>
- 使用點
.的方式操作屬性 只能拿原有屬性- 獲取屬性 元素.屬性名
- 設定屬性 元素.屬性名 = ‘新的屬性值’
// 獲取屬性
// 元素.屬性名
var box = document.getElementById('box');
alert(box.id);
alert(box.class); // undefined
alert(box.title);
// 設定屬性
// 元素.屬性名='新屬性值'
box.id = 'box1';
alert(box.id);
注意:class是一個保留字,和其他的屬性操作方式不一樣,必須使用className
// // 獲取元素
// var box = document.getElementById('box');
// 獲取屬性
// alert(box.className);
// 需求:點擊按鈕,給div元素添加類名'active'
// 1、誰發生事件 button 獲取這個按鈕
// 2、發生什么事件 onclick 點擊事件
// 3、干什么事 把active這個類,添加給div這個元素
var btn = document.getElementById('btn');
var box = document.getElementById('box');
btn.onclick = function(){
// 設定類名
// box.className = 'active';
box.className = '';
}
使用中括號的方式操作屬性
// 獲取元素
var aDiv = document.getElementById('box');
// 把屬性名賦值給一個變數 就不可以使用點的方式了,需要使用中括號[]
var d = 'id';
// alert(aDiv[d]);
alert(aDiv['id']); // return回傳值的時候,會用到這個
樣式 通過js操作的樣式,全部屬于行內樣式
操作樣式
元素.className
box.className = 'active';
元素.style.樣式名 = ‘樣式值’
aDiv.style.width = '100px';
aDiv.style.height = '100px';
aDiv.style.background = 'blue';
// 注意:在js中,不承認 - ; 把橫線洗掉掉,第二個單詞開始,首字母大寫
aDiv.style.backgroundColor = 'blue';
cssText
語法:元素.style.cssText = '樣式名:樣式值;..............'
覆寫的問題,當使用多個的時候,后面的會覆寫前面的
// 語法:元素.style.cssText = '樣式名:樣式值;..............'
// 獲取元素
var aDiv = document.getElementById('box');
aDiv.style.cssText = 'width: 100px; height: 100px; border:2px solid blue';
// 解決方式:使用原來的樣式 + 新的樣式
aDiv.style.cssText = aDiv.style.cssText + 'background:red';
// 不兼容ie 6 7 8
aDiv.style.cssText +='background:red';
// 解決兼容:在樣式的前面,引號的里面加 分號 ;
aDiv.style.cssText +=';background:red';
測驗陳述句
alert()他是js自帶的彈窗,帶有一個確定按鈕,具有阻塞(如果我不點擊確定,后面的代碼不會執行)作用,只是用來測驗使用 不能用于實際開發
alert(1,2)
// 在控制臺列印,可以一次性列印多個
console.log('我是在控制臺列印的測驗陳述句',1);
// 對話框
// 有一個輸入內容的input框,有一個確定和取消按鈕
var a = prompt('請輸入內容');
console.log(a)
獲取標簽內容
單標簽是沒有內容,input標簽除外 雙標簽也是有內容的
單標簽input
獲取內容:元素.value
設定內容:元素.valuehttps://www.cnblogs.com/bnzw/p/= 'https://www.cnblogs.com/bnzw/p/新內容'
// 獲取元素
var pt = document.getElementById('pt');
// 獲取內容 元素.value
console.log(pt.value);
// 設定內容 元素.valuehttps://www.cnblogs.com/bnzw/p/= 'https://www.cnblogs.com/bnzw/p/新內容'
pt.valuehttps://www.cnblogs.com/bnzw/p/= 'https://www.cnblogs.com/bnzw/p/我是改變后的內容';
雙標簽內容
獲取內容:元素.innerHTML / 元素.innerText
設定內容:元素.innerHTML = ‘新內容' / 元素.innerText = ‘新內容'
// 獲取元素
var box = document.getElementById('box');
// 獲取內容 元素.innerHTML / 元素.inerText
console.log(box.innerHTML);
console.log(box.innerText)
// 設定內容 元素.innerHTML = '新內容'/ 元素.inerText = '新內容'
box.innerHTML = '我是改變后的新內容1233'
box.innerText= '我是改變后的新內容1233888888'
區別:
? innerHTML可以識別標簽
? innerText 不可以識別標簽
box.innerHTML = '<h2>我是改變后的新內容1233</h2>'
box.innerText= '<h2>我是改變后的新內容1233</h2>'
案例- 留言板
<div id="box"></div>
<input type="text" name="" id="pt"><button id="btn">按鈕</button>
<script>
// 需求:在輸入框內輸入內容,點擊按鈕,把內容發送到上面的內容區域
// 1、是發生事件 button 獲取這個元素
// 2、發生什么事件 onclick 單擊事件
// 3、干什么事
// 1、獲取input的內容 元素.value
// 2、給div設定內容 元素.innerHTML = '新內容'(元素.value)
// 獲取元素
var btn = document.getElementById('btn');
var pt = document.getElementById('pt');
var box = document.getElementById('box');
// 添加事件
btn.onclick = function () {
var ptrValue = https://www.cnblogs.com/bnzw/p/pt.value;
box.innerHTML += ptrValue +'<br />';
pt.valuehttps://www.cnblogs.com/bnzw/p/= '';
}
</script>

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/37720.html
標籤:JavaScript
上一篇:Making a simple scatter plot with d3.js
下一篇:WEB前端第四十二課——瀑布流
