bom

BOM

BOM(Browser Object Model)是指瀏覽器對象模型,它使 JavaScript 有能力與瀏覽器進行「對話」。html

window對象

全部瀏覽器都支持 window 對象。它表示瀏覽器窗口。java

**若是文檔包含框架(frame 或 iframe 標籤),瀏覽器會爲 HTML 文檔建立一個 window 對象,併爲每一個框架建立一個額外的 window 對象。*python

**沒有應用於 window 對象的公開標準,不過全部瀏覽器都支持該對象。*瀏覽器

全部 JavaScript 全局對象、函數以及變量均自動成爲 window 對象的成員。app

全局變量是 window 對象的屬性。全局函數是 window 對象的方法。框架

接下來要講的HTML DOM 的 document 也是 window 對象的屬性之一。函數

一些經常使用的Window方法:操作系統

  • window.innerHeight - 瀏覽器窗口的內部高度
  • window.innerWidth - 瀏覽器窗口的內部寬度
  • window.open() - 打開新窗口
  • window.close() - 關閉當前窗口

window的子對象

avigator對象(瞭解便可)

瀏覽器對象,經過這個對象能夠斷定用戶所使用的瀏覽器,包含了瀏覽器相關信息。code

navigator.appName  // Web瀏覽器全稱
navigator.appVersion  // Web瀏覽器廠商和版本的詳細字符串
navigator.userAgent  // 客戶端絕大部分信息
navigator.platform   // 瀏覽器運行所在的操做系統

screen對象(瞭解便可)

屏幕對象,不經常使用。

一些屬性:

  • screen.availWidth - 可用的屏幕寬度
  • screen.availHeight - 可用的屏幕高度

history對象(瞭解便可)

window.history 對象包含瀏覽器的歷史。

瀏覽歷史對象,包含了用戶對當前頁面的瀏覽歷史,但咱們沒法查看具體的地址,能夠簡單的用來前進或後退一個頁面。

history.forward()  // 前進一頁
history.back()  // 後退一頁

location對象

window.location 對象用於得到當前頁面的地址 (URL),並把瀏覽器重定向到新的頁面。

經常使用屬性和方法:

location.href  獲取URL
location.href="URL" // 跳轉到指定頁面
location.reload() 從新加載頁面

彈出框

能夠在 JavaScript 中建立三種消息框:警告框、確認框、提示框。

警告框

警告框常常用於確保用戶能夠獲得某些信息。

當警告框出現後,用戶須要點擊肯定按鈕才能繼續進行操做。

語法:

alert("你看到了嗎?");

確認框(瞭解便可)

確認框用於使用戶能夠驗證或者接受某些信息。

當確認框出現後,用戶須要點擊肯定或者取消按鈕才能繼續進行操做。

若是用戶點擊確認,那麼返回值爲 true。若是用戶點擊取消,那麼返回值爲 false。

語法:

confirm("你肯定嗎?")

提示框(瞭解便可)

提示框常常用於提示用戶在進入頁面前輸入某個值。

當提示框出現後,用戶須要輸入某個值,而後點擊確認或取消按鈕才能繼續操縱。

若是用戶點擊確認,那麼返回值爲輸入的值。若是用戶點擊取消,那麼返回值爲 null。

語法:

prompt("請在下方輸入","你的答案")

計時相關

經過使用 JavaScript,咱們能夠在必定時間間隔以後來執行代碼,而不是在函數被調用後當即執行。咱們稱之爲計時事件。

setTimeout()

語法:

var t=setTimeout("JS語句",毫秒)

setTimeout() 方法會返回某個值。在上面的語句中,值被儲存在名爲 t 的變量中。假如你但願取消這個 setTimeout(),你可使用這個變量名來指定它。

setTimeout() 的第一個參數是含有 JavaScript 語句的字符串。這個語句可能諸如 "alert('5 seconds!')",或者對函數的調用,諸如 alertMsg()"。

第二個參數指示從當前起多少毫秒後執行第一個參數(1000 毫秒等於一秒)。

clearTimeout()

語法:

clearTimeout(setTimeout_variable)

舉個例子

// 在指定時間以後執行一次相應函數
var timer = setTimeout(function(){alert(123);}, 3000)
// 取消setTimeout設置
clearTimeout(timer);

setInterval()

setInterval() 方法可按照指定的週期(以毫秒計)來調用函數或計算表達式。

setInterval() 方法會不停地調用函數,直到 clearInterval() 被調用或窗口被關閉。由 setInterval() 返回的 ID 值可用做 clearInterval() 方法的參數。

語法:

setInterval("JS語句",時間間隔)

返回值

一個能夠傳遞給 Window.clearInterval() 從而取消對 code 的週期性執行的值。

clearInterval()

clearInterval() 方法可取消由 setInterval() 設置的 timeout。

clearInterval() 方法的參數必須是由 setInterval() 返回的 ID 值。

語法:

clearInterval(setinterval返回的ID值)

舉個例子:

// 每隔一段時間就執行一次相應函數
var timer = setInterval(function(){console.log(123);}, 3000)
// 取消setInterval設置
clearInterval(timer);

補充計時器

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    function func(){
        alert('hello baby')
    }
    function demo(){ t=setTimeout(func,3000);
    function inner(){clearTimeout(t)}
    setTimeout(inner,9000)}
   demo()

</script>
</body>
</html>


注意:
1.setimeout的第一個參數必定要是個函數,不能是直接的js語句,第二個參數是執行的時間整型毫秒
2.cleartime參數沒有執行的時間,當第一個setimeout等3s的時候,cleartime就已經執行了,不會再有彈窗
3.setimeout只會彈一次三秒後彈一次
4.第一個參數也能夠直接寫入函數function(){console.log(123);}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    function func(){
        alert('hello baby')
    }
    function demo(){ t=setInterval(func,3000);
    function inner(){clearInterval(t)}
    setTimeout(inner,9000)}
   demo()

</script>
</body>
</html>

與python對比的屬性或方法

res = '12.12'
print(int(res))
print(float(res))


列表添加元素的方式
l = [1,2,3,4]
append
l.append(1)
print(l)
l.append([1,2,3,4])
print(l)
insert
l.insert(0,[1,2,3,4])
print(l)
extend
l.extend([1,2,2,3,4,5])
print(l)

刪除列表元素的方式
del
remove
res = l.remove(1)
print(res)
print(l)
pop
res = l.pop(2)
print(res)
print(l)


l = [1,2,3,4]
res = ','.join(l)
print(l)





map(),zip(),filter(),reduce()
映射
l = [1,2,3,4,5]
def func(x):
    return x+2
print(list(map(func,l)))


zip()
l = [1,2,3,4,5,6,7,8]
l1 = ['a','b','c']
l2 = [22,33,44,55]
print(list(zip(l,l1,l2)))

filter
l = [1,2,3,4,5,6,7]
print(list(filter(lambda x:x>2,l)))

reduce()
from functools import reduce
l = [1,2,3,4,5,6,7,8]
def func(x,y):
    return x+y
print(reduce(lambda x,y:x+y,l))


a = 1 if  2>3 else 4
print(a)




x = 100
def func():
    print(x)

def bar():
    x = 666
    def inner():
        func()
    return inner
res = bar()
res()




def demo():
    pass
demo.name = 'hello'
print(demo.name)


相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息