math稱為數學函式,但是它屬於物件型別
typeof math //=>"object"
之所以叫做數學函式,是因為math這個物件中提供了很多運算元學的方法
**abs
** :取絕對值
math.abs(-1) // => 1
**ceil/floor
**: 向上或者向下取整
math.ceil(10) // 10
math.ceil(10.01) // 11
math.ceil(-10.01) // -10
math.floor(10.999) // 10
math.floor(-10.999) // -11
**round
**: 四捨五入
math.round(10.49) // 10
math.round(10.5) // 11
math.round(-10.49) // -10
math.round(-10.5) // -10
math.round(-10.51) //-11
**sqrt
**: 開平方
math.sqrt(100) //10
**pow
**: 取冪(n的m次方)
math.pow(2,10) // 1024
**max/min
**: 獲取最大值和最小值
math.max(12,23,14,35,24,26,13) // 35
math.min(12,23,14,35,24,26,13) // 12
**pi
** : 獲取圓周率
math.pi
**random
**:獲取0-1之間的隨機小數
n-m整數
function randomnum(n,m)
getelementbyid
通過元素的id獲取指定的元素物件,使用的時候都是getelementbyid的上下文document.getelementbyid('')
此處的document是限定了獲取元素的範圍,我們把它稱之為上下文(context)
只能
是document
因為嚴格意義上,乙個頁面的id是不能重複的,瀏覽器規定在整個文件中既可以獲取這個唯一的id
如果頁面中的id重複了,我們基於這個方法只能獲取到第乙個元素,後面相同id元素無法獲取
在ie6~7瀏覽器中,會把表單元素(input)的name屬性值當做id來使用(建議,以後使用表單元素的時候,不要讓name和id的值有衝突)
getelementsbytagname
[context].getelementsbytagname
在指定的上下文中,根據標籤名獲取到一組元素集合(htmlcollection)
獲取的元素集合是乙個類陣列(不能直接的使用陣列中的方法)
它會把當前上下文中,子子孫孫(後代)層級內的標籤都獲取到(獲取的不僅僅是兒子級)
基於這個方法獲取到的結果永遠都是乙個集合(不管裡面是否有內容,也不管有幾項,它是乙個容器或者集合),如果想操作集合中具體的某一項,需要基於索引獲取到才可以
getelementsbyclassname
[context].getelementsbyclassname
在指定的上下文中,基於元素的樣式類名(class=「***」)獲取到一組元素集合
真實專案中,我們經常是基於樣式類來給元素設定樣式,所以在js中,我們也會經常基於樣式類來獲取元素,但是此方法在ie6-8下不相容
來著:https:
0d756efa17c9
function
getelementsbyclass
(classname,context)
//ie6-8:
//把傳遞進來的樣式類名首位空格都去掉,再按照中間的空格把裡面每一項拆分成陣列
var classnameary=classname.
replace
(/^ +| +$/g,""
).split
(/ +/g);
var ary=
;//獲取指定上下文中的所有元素標籤,迴圈這些標籤, 獲取每乙個標籤的classname的字串
var nodelist=context.
getelementsbytagname
("*");
//獲取指定上下文中的所有元素標籤
for(
var i=
0,len=nodelist.length;iif(isok)
}return ary;
}
getelementsbyname
document.getelementsbyname()
它的上下文也只能是document,在整個文件中,基於元素的name屬性值獲取一組節點集合(也是乙個類陣列)
在ie瀏覽器中(ie9及以下版本),只對表單元素的name屬性起作用(正常來說:我們專案中只會給表單元素設定name,給非表單元素設定name,其實是乙個不太符合規範的操作)
queryselector
[context].queryselector()
在指定的上下文中基於選擇器(類似於css選擇器)獲取到指定的元素物件(獲取的是乙個元素,哪怕選擇器匹配了多個,我們只獲取第乙個)
queryselectorall
在queryselect的基礎上,我們獲取到選擇器匹配到的所有元素,結果是乙個元素集合(nodelist)queryselector/queryselectorall都是不相容ie6-8瀏覽器的(不考慮相容的情況下,我們能用byid或者其他方法獲取,也盡量不要用這兩個,這兩個方法效能消耗較大)
document.head
獲取head元素物件
document.body
獲取body元素物件
document.documentelement
獲取html元素物件需求:獲取整個瀏覽器一螢幕的寬度和高度(相容所有瀏覽器)
document.documentelement.clientwidth || document.body.clientwidth
document.documentelement.clientheight || document.body.clientheight
面試題:獲取當前頁面中所有id為haha的(相容所有的瀏覽器)
首先獲取當前文件中所有的html標籤
依次遍歷這些元素標籤物件,誰的id等於haha,我們就把誰儲存起來即可
function
queryallbyid
(id)
return ary;
}queryallbyid()
;
前端從0單排之JS Day8筆記
陣列也是物件資料型別的,也是由鍵值對組成的 var ary 12 23,34 結構 0 12,1 23 2 34 length 3 1.以陣列作為索引 屬性名 索引從零開始遞增 2.有乙個length屬性儲存的是陣列長度 ary 0 獲取第一項 ary ary.length 1 獲取最後一項 陣列中...
前端從0單排之JS Day14筆記
棧記憶體 作用域 提供乙個供js 自上而下執行的環境 都是在棧中執行的 由於基本資料型別值比較簡單,他們都是直接在棧記憶體中開闢乙個位置,把值直接儲存進去的 當棧記憶體被銷毀,儲存的哪些基本值也都跟著銷毀了 堆記憶體 引用值對應的空間 儲存引用型別值的 物件 鍵值對 函式 字串 當前堆記憶體釋放銷毀...
Python從0到1之異常
當檢測到錯誤時,直譯器無法繼續執行了,反而出現了一些錯誤提示,就是異常 try 可能發生錯誤的 except 如果出現異常執行的 try f open test.txt r except f open test.txt w try 1 0except zerodivisionerror print ...