方法 | 說明 | 歸屬 |
---|---|---|
alert(msg) | 瀏覽器彈出警示框 | 瀏覽器 |
console.log(msg) | 瀏覽器控制檯打印輸出信息 | 瀏覽器 |
prompt(info) | 瀏覽器彈出輸入框 | 瀏覽器 |
首先聲明變量javascript
var age; // 聲明一個名稱爲age的變量
賦值css
直接age=18;就把18賦給了age這個變量html
變量初始化java
var age='pink';
簡單數據類型 | 說名 | 默認值 |
---|---|---|
Number | 數字型 | 0 |
Boolean | 布爾值類型,true,flase等價於1和0 | false |
String | 字符串類型,如「張三」,注意字符串都帶引號 | 「」 |
Undefined | var a;聲明瞭變量a可是沒有給值,此時a=undefined | undefined |
Null | var a=null;聲明瞭變量a爲空值 | null |
isNaN() 這方法是用來判斷非數字 並返回一個值,若是數字返回的是 false 若是不是返回 true正則表達式
特別的,isNaN會將空格字符轉化爲0數組
console.log(isNaN(12));返回false
字符串經過length屬性,能夠獲得整個字符串的長度瀏覽器
var str="asdadasd" str.length;
布爾類型有兩個值:ture和false,分別表明1,0app
聲明沒被賦值的變量會是undefineddom
null是表明空值函數
typeof可用來獲取檢測變量的數據類型
typeof後面空格跟着變量
console.log(typeof 變量);
prompt獲取過來的數據默認是字符串類型,此時不能進行加減乘除,須要轉換變量的數據類型
方式 | 說明 | 案例 |
---|---|---|
toString() | 轉成字符串 | var num=1;alert(num.toString()); |
String()強制轉換 | 轉成字符串 | var num =1;alert(String(num)); |
加號拼接字符串 | 和字符串拼接的結果都是字符串 | var num=1;alert(num+‘我是字符串’); |
parselnt(string)函數 | 將string類型轉成整數數值型 | parselent(‘78’) |
parseFloat(string)函數 | 將string類型轉換成浮點數數值型 | parseFloat(‘78.21’) |
Number()強制轉換函數 | 將string類型轉換成數值型 | Number(‘12’) |
js隱式轉換 | 利用算術運算隱式轉換爲數值型 | ‘12’-0 |
parselnt(string)函數 | 將string類型轉成整數數值型 | parselnt(‘78’) |
parseFloat(string)函數 | 將string類型轉成浮點數數值型 | parseFloat(‘78.21’) |
Number()強制轉換函數 | 將string類型轉換成數值型 | Number(‘12’) |
js隱式轉換(-/**) | 利用算數運算隱式轉換成數值型 | ‘12’-0 |
Boolean()函數 | 其餘類型轉成布爾值 | Boolean(‘ture’);表明空、否認的值都轉爲flase,其他true |
特別注意,在alert中換行用\n,可是在document.write裏,換行用< br / >
\n是對對話框文本的換行
javascript中不少運算符表達形式和c語言差很少,這裏發現有些區別的地方
var a=(1>0)
返回ture
這是由於再js中,比較運算符若是正確會返回ture錯誤返回flase
這一部分跟C語言也基本一致,沒什麼好說的
在js中函數都是function來定義的
function 函數名( ){ }
函數的調用,js有獨特的調用方式
在超連接中調用
<a href="javascript:函數名"></a>
==在事件中調用==
好比點擊就是一個事件
parseint ()提取字符串中的數字,只限提取整數
parseFloat()提取字符串中的數字,能夠提取小數
咱們只用掌握length這一個屬性,在調用對象的屬性時,咱們要用到點運算符
轉換成大寫字符串 字符串名 . toUpperCase() 轉換成小寫字符串 字符串名 . toLowerCase 這個方法獲得的是值的轉變,而實際字符串自己是沒變的
獲取一個字符 字符串名 . charAt(n)
截取字符串 字符串名 . substring( start ,end ) 截取[start ,end)範圍,end能夠省略,表示截取到最後
替換字符串 字符串名 . replace (原字符串,替換字符串)
字符串名 .replace(正則表達式,替換字符串 ) 正則表達式 / 字符串 /g
==兩種不同,後者是替換字符串中全部相同的,而前者是替換字符串中第一個所選字符串==
分割字符串 字符串名 . split(「 分隔符」),把字符串分割成數組,分隔符能夠是一個或多個字符或者一個正則表達式,此外,分割符不做爲返回的數組元素的一部分
特別的,若是分隔符爲空字符,那麼能夠分割每個字符
檢索字符串的位置 字符串名.indexOf(指定字符串) 這是找指定字符串首次出現的位置
字符串名 . lastIndexOf(指定字符串) 這是找指定字符串最後一次出現的位置
若是不含指定字符串,則會返回 -1
用法
var 數組名 ={"a" "c" "v" "v" "v"}
語法
var 日期對象名 =new Date();
建立一個日期對象,必須使用new關鍵字
getElementByld() 經過id選中
getElenmentsByTagName() 經過標籤
getElementsByClassName() 經過class
querySelector()和querySelectorAll() 前者是表示所選的第一個元素,後者表示第二個元素,二者的跟着的是選擇器,因此該加 。的要加 。,該加# 的要加#
getElementsByName() 是經過name屬性來獲取元素,通常用於表單元素,單選按鈕和複選框
document.title 和document.body.
這些方法,在用的時候,用法都是 document.方法(「 須要引用的」)
若是放在head裏,那就要加個window.onload=function {.........}
若是這個方法在若是在body裏,就必定要放到存放這個id屬性標籤的下方,不然會出錯
咱們習慣的在DOM對象變量命名時候,以「o」開頭,以代表這是一個DOM對象
經過id選中元素
若是要指定某個父元素中的子元素時,咱們先用id來選中父元素
語法
var e1(變量名)=document.createElement("元素名"); //創造元素節點 var txt(變量名)=document.createTextNode("文本內容") //建立文本節點 e1.appendChild(txt); //把文本節點插入元素節點中 e2.appendChild(e1); //把組裝好的元素插入已存在的元素中
當給創造的元素賦予屬性的時候,class不能用,由於class是保留字,因此咱們用classname
總結:創造元素須要下面四步
除了appendChild還有insertBefore()
前者是將新元素插到父元素最後一個子元素後
後者是將元素插到父元素的一個子元素以前
用法
A.insertBefore (B,ref); A是父元素,B是新子元素,ref 是指定的子元素
語法
A.removeChild(B);A是被刪除元素的父元素,B是被刪除元素
語法
A.cloneNode(bool) A表示被複制的元素,bool是個布爾值,取值 1或true 表示被複制元素自己以及複製該元素下全部的元素 0或false 表示僅僅複製元素自己,不復制該元素下的子元素
A.replaceChild(new,old);A表示父元素,B表示新子元素,old表示舊元素
HTML屬性操做(對象屬性)
語法
obj.attr
(obj是元素名),是一個DOM對象,指的是用元素操做獲得的元素節點
attr是屬性名
obj.attr="值";
對象屬性方式和對象方法方式均可以用來操做靜態或動態DOM,只有對象方法方式才能操做自定義屬性
一樣分爲獲取和設置倆種
獲取CSS屬性值
getComputedStyle(obj).attr
obj表示DOM對象,也就是經過getElementByld()等方法獲取的元素節點
attr表示css屬性名
設置CSS屬性值
設置一個CSS屬性值,有兩種方式能夠實現
style對象
cssText屬性
obj.style.attr = "值" attr是css屬性名,attr要用駝峯命名,由於在這裏,attr做爲變量出現,變量不能用- obj.style.cssText= "值"; 這個不用駝峯,就css什麼樣就什麼樣
即查找元素
查找父元素
能夠用parentNode屬性來獲取
obj.parentNode obj是DOM對象,元素
查找子元素
childNodes獲取的是全部的子節點,firstChild lastChild 這裏是得到全部節點,包括元素節點以及文本節點
children .firstElementChild \ lastElementChild.得到的是元素節點 想得到任意節點能夠用數組形式
注意:空白也是節點,換行也是節點,是文本節點
查找兄弟元素
innerHTML和innerText
attr.innerHTML=".. ........ "//將.........元素添加到或屬性添加到元素中
事件 | 說明 |
---|---|
onclick | 單擊 |
onmouseover | 移入 |
onmouseout | 移出 |
onmousedown | 鼠標按下 |
onmouseup | 鼠標鬆開事件 |
onmousemove | 鼠標移動事件 |
onfocus表示得到焦點時觸發的事件,onblur表示失去焦點時觸發的事件
得到焦點和失去焦點特色的元素只有兩種
onselect當咱們選中單行文本框或多行文本框內容時,就會觸發
onchange用於具備多個選項的表單元素
綁定事件
指的是用addEventListener()方法爲一個元素添加事件
語法
obj.addEventListener(type ,fn ,false) obj 是DOM對象 type是一個字符串 這個事件類型是不用加on前綴,單擊事件就用click,鼠標移入就用mouseover fn是一個函數名,或是一個匿名函數 false表示事件冒泡階段調用
解綁事件
obj.removeEventListener(type,fn,false);
能夠理解爲,哪一個DOM對象調用了this所在的函數,那麼this指向的就是哪一個DOM對象
打開窗口
window.open(url,target) url 表示新窗口的地址,target 表示新窗口打開方式,和html同樣
關閉窗口
window.close()方法是沒有參數的
對話框有三種alert、confirm、prompt 都是window對象的方法是能夠省略window前綴
alert無需多言,只是彈出對話框
confirm不只彈出對話框,還帶有肯定和取消,肯定返回ture,取消返回false
prompt不只會提示文字,還帶有一個文本框,以便用戶輸入字符串,返回字符串
setTimeout(code,time)code能夠是一段代碼,能夠是一個函數,也能夠是一個函數名,
time是時間,單位爲毫秒,表示要過多久才執行code中的代碼
clearTimeout()暫停
setlnterval(code,time)能夠重複的調用,並用clearlnterval中止
document.URL屬性來獲取當前網頁的地址
那window.location.href也能夠獲取當前頁面URL,可是他們也有區別,前者只能讀取,後者還能夠操做