1. 程式人生 > >java復習前端篇——JavaScript

java復習前端篇——JavaScript

isp number 毫秒 TE 沒有 指定 bom 特定 AS

1.JS的概述:
 什麽是JS:運行在瀏覽器端腳本語言,基於對象和事件驅動的語言,應用於客戶端,瀏覽器會在讀取代碼時,逐行地執行腳本代碼。而對於傳統編程來說,會在執行前對所有代碼進行編譯。
  JS的用途:使用JS提升用戶的體驗.使HTML動起來.

2.JS的引入方式:

  (1):頁面內直接編寫JS代碼,JS代碼需要使用<script></script>.
   (2):將JS的代碼編寫到一個.js的文件中,在HTML中引入該JS代碼即可.
<script type="text/javascript" src="../js/check.js"> //這裏面不寫東西</script>。外部腳本不能包含 <script> 標簽。

3.JS的組成:

   (1) ECMAScript:JS的核心
基本語法
與 Java 一樣,變量、函數名、運算符以及其他一切東西都是區分大小寫的。
比如:變量 test 與變量 TEST 是不同的
弱類型語言,可以任意改變變量的類型,變量是弱類型的與 Java 和 C 不同,ECMAScript 中的變量無特定的類型,定義變量時只用 var 運算符,可以將它初始化為任意值。因此,可以隨時改變變量所存數據的類型(盡量避免這樣做)。

例子
var color = "red";
var num = 25;
var visible = true;



行代碼結束可不加分號,就默認為換行,建議加上分號,最好的代碼編寫習慣是總加入分號,因為沒有分號,有些瀏覽器就不能正確運行,不過根據 ECMAScript 標準,下面兩行代碼都是正確的:

var test1 = "red"
var test2 = "blue";

變量名可以包含數字,但是不能以數字開頭
註釋
單行註釋 : 以雙斜杠開頭(//)
多行註釋 : 以單斜杠和星號開頭(/*),以星號和單斜杠結尾(*/)


js運算符:
一元運算符:++ -- 與Java一致
邏輯運算符:&& || !or
算術運算符:+ - * / % 運算
+ 特點 :做的是拼接操作
- 特點 : 先把值轉換成數值後再進行減法運算,轉換後不是數值相減會出現NaN
關系運算符:
> < >= <= == !=
== 和 ===的區別,前者比較的是數值,後者不僅比較值而且還比較數據類型
三元運算符
值?表達式1:表達式1
如果值為true,整個表達式取表達式1的值,如果值為false,整個表達式取表達式2值。
賦值運算符
*=、+=、-=、/=、%=
以上賦值運算符與java中操作一樣
逗號運算符
var a=1, b=2;
逗號運算符可以在一條語句中執行多個運算
聲明變量
var關鍵字
var i = 10;
var i = "wangbadan";
var i = true;
var i = null;
......


js流程控制語句:
if條件
格式 :if(條件){語句}else{語句}
在java中if語句後面的條件必須是true/false值,而在javascript 中我們描述true/false有多種方式,所以要註意與java中的區別
switch語句
While與do-while
for循環


js類型
原始類型
string:字符及字符串都看做為字符類型
number:數值類型
boolean:邏輯類型
null
undefined:變量未初始化


引用類型:
對象類型.對象類型默認值是null.
類型判斷:
typeof()


類型轉換:
toString():轉傳成字符串
parseInt(值):轉換成數字類型
parseFloat(值):轉換成浮點類型
Boolean(值):值轉換成Boolean類型
Number(值):值轉換成Number類型

  (2)DOM:Document Object Model 文檔對象模型
DOM:就是將文檔加載到內存,形成樹形結構, 從而操作樹形結構就可以改變HTML的樣子.
Document :文檔對象.代表的是加載到內存中的整個的文檔.
Element :元素對象.代表文檔中的每個元素(標簽)
Attribute:屬性對象.代表元素上的屬性.
Document,Element,Attribute統稱為Node(節點)


DOM基本操作:1.獲取元素:
document.getElementById() 通過ID獲得元素
document.getElementsByName() 通過name屬性獲得元素
document.getElementsByTagName(); 通過標簽名獲得元素


   2.創建元素:
document.createElement(); 創建元素
var para=document.createElement("p");


   document.createTextNode(); 創建文本節點
var node=document.createTextNode("這是新段落。");


3.添加元素:
element.appendChild(); 在最後添加一個節點
element.insertBefore(); 在某個元素之前插入一個節點
  4. 刪除元素:
element.removeChild(); 如需刪除 HTML 元素,您必須首先獲得該元素的父元素:
var parent=document.getElementById("div1");
      var child=document.getElementById("p1");
      parent.removeChild(child);


如果能夠在不引用父元素的情況下刪除某個元素,就太好了。不過很遺憾。DOM 需要清楚您需要刪除的元素,以及它的父元素。這是常用的解決方案:找到您希望刪除的子元素,然後使用其 parentNode 屬性來找到父元素:
var child=document.getElementById("p1");
      child.parentNode.removeChild(child);


   5.修改元素:
elementNode.setAttribute(name,value)
參數 描述
name 必需。規定要設置的屬性名。
value 必需。規定要設置的屬性值。
說明: 該方法把指定的屬性設置為指定的值。如果不存在具有指定名稱的屬性,該方法將創建一個新屬性。


  6. 改變 HTML
改變 HTML 內容:document.getElementById(id).innerHTML=new HTML
改變 HTML 屬性:document.getElementById(id).attribute=new value


  7.改變 CSS
document.getElementById(id).style.property=new style


   8. 事件
對 HTML 事件做出反應
onclick=JavaScript
<h1 onclick="this.innerHTML=‘謝謝!‘">請點擊該文本</h1>
<h1 onclick="changetext(this)">請點擊該文本</h1>


HTML 事件屬性
向 button 元素分配 onclick 事件:
<button onclick="displayDate()">點擊這裏</button>


使用 HTML DOM 來分配事件
向 button 元素分配 onclick 事件:
<script>
document.getElementById("myBtn").onclick=function(){displayDate()};
</script>

    (3)BOM:Browser Object Model 瀏覽器對象模型 (BOM) 使 JavaScript 有能力與瀏覽器“對話”。

Window:窗口對象
alert(); 顯示帶有一段消息和一個確認按鈕的警告框 alert("文本")
confirm(); 彈出一個確認對話框 confirm("文本")
open(); 打開一個新窗口
prompt(); 顯示可提示用戶輸入的對話框 prompt("文本","默認值")


設置定時的方法
* setInterval(); :每隔多少毫秒執行某個表達式. * setInterval(“change()”,5000);
* setTimeout(); :隔多少毫秒執行一個該表達式. * setTimeout(“change()”,5000);
清除定時的方法 clearInterval();
(1) clearInterval(id_of_setinterval)
var int=self.setInterval("clock()",50)
window.clearInterval(int);
  (2)clearTimeout();
clearTimeout(setTimeout_variable)
t=setTimeout("timedCount()",1000)
clearTimeout(t)
Navigator:瀏覽器對象
Screen:屏幕對象
History:歷史對象 go(); 加載history 列表中的某個具體頁面
Location:路徑對象 href: 設置或者返回完整的URL

4.JS函數的定義和創建:

  創建
function 函數名(參數){
函數體;
}
//默認返回值為true。
* window.onload = function(){

}
var 函數名 = new Function(參數(函數體))
var 函數名 = function(參數) {
函數體
}
js函數參數問題: 參數無數據類型,調用時不用按照方法裏的參數規定來
js函數返回值問題:
  (1) 如果有返回值可以用return
(2)有返回值不用聲明返回值類型
註:沒有方法重載,可以用arguments模擬
(3) 如果沒有返回值就返回undefined

java復習前端篇——JavaScript