天天看點

【前端學習】三 -JS 數學對象 DOM基礎

Math屬性的對象

屬性 說明 對應的數學形式
PI y圓周率
LN2 2的自然對數 n(2)
LN10  10的自然對數
LOG2E  以2為底的e的對數
LOG10E  以10為底的e的對數
SORT2  2的平方根
SORT1_2 2的平方個的倒數
  • 對于所有角度 都是以弧度為機關的 例如180度 應該寫成Math.PI 這種寫法為 度數*Math.PI/180 
120*Math.PI/180 //120度
           

Math對象中的方法

方法  說明
max(a,b,……,n)  傳回一組數中的最大值
min()
sin(x)  正弦
cos(x)
tan(x)
asin(x)  反正弦
acos(x)
atan(x)
atan2(x)
floor(x)  向下取整
ceil(x)  向上取整
random()  生成随機數
  • 随機生成某個範圍内的整數 Math.floor(Math.random()*(m-n+1)+n)
  • DOM對象 全稱 Document Object Model(文檔對象模型)  W3C的一個标準
  • 采用樹結構 html元素時根元素 DOM節點一共有12種類型 常見的有三種 元素節點 屬性節點 文本節點
  • 可以用nodeType來判斷一個節點的類型
  • 隻有元素節點才有子節點 屬性和文本沒有子節點
  • 擷取元素的6種方法
    getElementById()
    getElementsByTagName()
    getElementsByClassName()
    getElementsByName()
    querySelector()和querySeletorAll()
    document.title和document.body
  • document.getElementById("id") 注意 這個方法無法建立動态的DOM
  • document.getElementsByTagName("标簽名") 擷取的是一個僞數組 ,可以用length屬性和下标 但是不能用push()等方法
  • document.getElementsByClassName("類名") 擷取的也是一個僞數組 也不能動态建立DOM
  • document.querySelector(“選擇器”) 表示滿足選擇條件的第一個元素
  •   document.querySelectorAll(“選擇器”) 表示滿足選擇條件的所有元素
  • nth-child(N)屬于CSS3的選擇器
  • document.getElementsByName("name") 對于表單元素來講 它有一個一般元素沒有的屬性 name 這個方法一般隻用于表單元素
  • document.title和document.body 由于頁面隻有一個title和body 用于操作這兩個元素
  • 動态建立元素 createElement()建立元素節點 createTextNode()建立文本節點

var e1=document.createElement("元素名");var txt= document.createTextNode("文本内容");e1.appendChild(txt);e2.appendChild(e1);

建立動态的複雜元素

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			window.onload = function(){
				var oInput = document.createElement("input");
				oInput.id="submit";
				oInput.type="button";
				oInput.value="送出";
				
				document.body.appendChild(oInput);   //動态建立複雜元素(帶屬性)
			}
		</script>
	</head>
	<body>
	</body>
</html>
           
  • 插入元素 常用兩種方法 appendChild()和insertBefore()
  • A.appendChild(B)  把B插入到A中
  • oBtn.onClick =function(){} 為一個元素添加點選事件
  • A.insertBefore(B,ref) 将一個新元素插入到父元素中的某一個子元素之前
  • 删除元素 A.removeChild(B) 删除A元素中的一個B元素
  • 複制元素 obj.cloneNode(bool) obj表示被複制的元素 bool是一個布爾值 1表示複制元素本身以及這個元素下面的所有元素 0表示僅僅複制元素本身
  • 替換元素 A.replaceChild(new,old)