網(wǎng)景公司然爆,第一款瀏覽器,倒閉了
mozilla基金會有序,火狐瀏覽器
哥們:發(fā)明了一門語言 js 非常隨意 無可取代
javascript java 很多語法非常的靈活 隨意
微軟(ie)
兼容性問題编曼。js、html蜻拨、css瀏覽器翻譯
瀏覽器分為高級、低級瀏覽器
高級:火狐抬虽、谷歌官觅、ie8以后
低級:ie8以下的瀏覽器
web方向:php、java阐污、python休涤,服務端的語言
客戶端===服務端
0、js引入方式和打印方式
四種引入方式
(1)<a href="javascript:alert('集合笛辟,準備團戰(zhàn)')">百度一下</a>
(2)<div style="width:200px; height:200px; background-color:red" onclick="alert('等等我功氨,馬上到')"></div>
(3)在html頁面的任何位置加入 <script>js代碼</script>
(4)在html頁面的任何位置加入 <script src='js.js'></script>
三種打印方式
(1)alert彈窗打印
(2)console.log('打印的內(nèi)容') 結合瀏覽器控制臺查看
(3)document.write('打印的內(nèi)容') 往html文檔中寫內(nèi)容
1、函數(shù)
全局變量和局部變量
全局變量:直接定義的變量手幢,全局有效
加var和不加var都一樣
局部變量:函數(shù)體內(nèi)定義的變量捷凄,只在函數(shù)體內(nèi)有效
如果局部前面有var,該變量真是一個局部變量
如果局部前面沒有var围来,該變量其實是一個全局變量跺涤,在函數(shù)調(diào)用之后,該變量即可隨便使用
上面知道即可监透,一般情況定義變量都加var
如果局部和全局同名桶错,優(yōu)先使用局部變量
匿名函數(shù)
沒有函數(shù)名的函數(shù),需要將其賦給一個變量胀蛮,然后變量按照函數(shù)的形式進行調(diào)用即可
封閉空間
將匿名函數(shù)用小括號括起來院刁,然后在后面再加一個小括號調(diào)用這個匿名函數(shù),稱之為封閉空間
2粪狼、數(shù)組
定義:array
遍歷:
數(shù)組定義通過索引進行訪問退腥,索引從0開始
但是數(shù)組也可以通過屬性值追加屬性和值任岸,但是一般不這么使用
遍歷的時候,通過for進行遍歷只能遍歷索引數(shù)組狡刘,通過forin進行遍歷享潜,既可以遍歷索引,又可以遍歷屬性
字符串遍歷
通過索引進行遍歷颓帝,索引從0開始
3米碰、對象
三種方式:
(1)構造方法
(2)通過官方創(chuàng)建
(3)直接寫一個對象即可
obj = {name: '王寶強', age: '36', wife: '馬蓉蓉'}
屬性的引號可以添加也可以不添加,一般就不加了
使用時候
obj['name'] 或者 obj.name
在js中json格式字符串和js對象相互轉化的函數(shù)
將js對象轉化為json字符串
string = JSON.stringify(obj)
json字符串轉化為js對象
obj = JSON.parse(string)
obj = eval('(' + string + ')')
4购城、常用對象和函數(shù)
parseInt
將字符串轉化為整型吕座,必須以數(shù)字開頭,只要碰到非數(shù)字瘪板,轉化結束
如果以非數(shù)字開頭吴趴,轉化為NaN, 兩個NaN不能判斷是否相等,判斷是不是NaN可以使用 isNaN函數(shù) 判斷是不是NaN侮攀,是返回true锣枝,不是返回false
parseFloat
將字符串轉化為浮點,必須以數(shù)字開頭,碰到非數(shù)字立馬結束兰英,小數(shù)點不算
如果以非數(shù)字開頭撇叁,轉為NaN
Math對象
abs : 絕對值函數(shù)
ceil : 向上取整
floor : 向下取整
max : 取最大的值,傳遞過個參數(shù),找到最大值
min : 傳遞多個參數(shù)畦贸,找到最小值
pow : 求冪
random : 隨機值 只能隨機0-1之間的小數(shù)陨闹,如果需要隨機5-10之間的數(shù),自己實現(xiàn)
round : 四舍五入函數(shù)
字符串常用函數(shù)
indexOf : 字符串查找函數(shù)薄坏,返回查找到的字符串的第一個字母的下標趋厉,如果找不到,返回-1 類似于python里面的find
lastIndexOf : 字符串查找函數(shù)胶坠,找最后一次出現(xiàn)的位置君账,找不到返回-1,類似于python里面的rfind
substr : 字符串的提取 substr(start, length) 從start開始提取length個字符
replace : 字符串替換,只能替換第一個 string.replace(old, new)
toLowerCase : 全部轉化為小寫
toUpperCase : 全部轉化為大寫
fromCharCode : 所有的大寫 65-90 所有的小寫 97-122 數(shù)字 48-57
split : 按照特定的字符進行切割
數(shù)組常用函數(shù)
push : 給數(shù)組追加一個元素
pop : 彈出最后一個元素,只能這么做
shift : 彈出數(shù)組中第一個元素
unshift : 數(shù)組最前面添加一個元素
join : 字符串拼接 arr.join('*') 將列表里面所有的字符串按照 * 拼接
reverse : 將數(shù)組逆序
slice : slice(start, end) [start, end) 左閉右開
sort : 排序,如果都是數(shù)字沈善,默認按照數(shù)字的ascii進行排序乡数,如果想按照數(shù)字大小排序
arr.sort(function (a, b) {return a > b}) 從小到大排序
日期對象常用函數(shù)
getDate : 獲得日期
getDay : 獲得星期幾 0-6 0表示周天
getMonth : 0-11 當前月份減一
getFullYear : 得到年份
getHours : 得到小時 24小時進制
getMinutes : 得到分鐘數(shù)
getSeconds : 得到秒數(shù)
getTime : 時間戳,毫秒數(shù)
每一個都有對應的設置方法闻牡,自己看看
創(chuàng)建日期對象的方式
// 創(chuàng)建當前時間的時間對象
d = new Date()
// 根據(jù)指定的時間戳創(chuàng)建時間對象
d = new Date(1534750144520)
// 根據(jù)時間字符串創(chuàng)建時間對象
d = new Date('2018/8/20 15:29:04')
// 根據(jù)年月日時分秒值創(chuàng)建對象
d = new Date(2018, 7, 20, 15, 29, 4)
5瞳脓、js簡單演示
背景切換
核心:頁碼中有一個標簽,如果想給標簽添加點擊事件澈侠,只需要寫onclick,如果想添加其它的埋酬,添加對應事件即可哨啃。在事件的后面就要寫代碼烧栋,通過js的DOM操作找到指定節(jié)點,將節(jié)點的屬性修改即可
6拳球、獲取對象
DOM操作审姓,document object mxxx, 文檔操作,document就是整個文檔對象
document.getElementById 得到指定對象
document.getElementsByClassName 得到對象集合祝峻,符合類名要求的都可以得到
document.getElementsByName
document.getElementsByTagName 得到對象集合
7魔吐、常用事件
onmouseover :鼠標移動上去觸發(fā)
onmouseout : 鼠標離開的時候觸發(fā)
onmouseup : 鼠標按下松開的時候觸發(fā)
onmousedown : 鼠標按下的時候觸發(fā)
onmousemove : 鼠標移動的時候觸發(fā)
onclick : 點擊的時候觸發(fā)
ondblclick : 雙擊的時候觸發(fā)
如下兩個用在input框中
onblur : 失去焦點
onfocus : 獲取焦點
8、獲取莱找、設置屬性和內(nèi)容
獲取屬性
odiv.id
odiv.className
odiv.style.width
odiv.style.height
odiv.style.backgroundColor
【注】在css中帶杠的屬性酬姆,到js中都修改為小駝峰即可
獲取內(nèi)容
odiv.innerHTML 獲取標簽里面的所有文本內(nèi)容,帶標簽
odiv.innerText 獲取標簽里面的純文本內(nèi)容
點和中括號區(qū)別
能使用點的地方肯定能使用中括號奥溺,能使用中括號的地方不一定能使用點
點后面只能跟屬性名
中括號里面可以寫屬性名字符串辞色,也可以寫變量
顯示隱藏圖片
this使用
切換背景色
表單內(nèi)容控制