1.HTML DOM (Document Object Model)
document.getElementById("some id"): 這樣的document就是DOM對象
JavaScript 能夠改變任意 HTML 元素的大多數屬性
*注意:
html - dom - document
瀏覽器 - bom - window
2.match()函數
match() 方法可在字符串內檢索指定的值,或找到一個或多個正則表達式的匹配。
語法:
stringObject.match(searchvalue) :必需。規定要檢索的字符串值。
stringObject.match(regexp):必需。規定要匹配的模式的 RegExp 對象。如果該參數不是 RegExp 對象,則需要首先把它傳遞給 RegExp 構造函數,將其轉換為 RegExp 對象
我們可以使用全局匹配的正則表達式來檢索字符串中的所有數字:
<script type="text/javascript"> var str="1 plus 2 equal 3" document.write(str.match(/\d+/g)) </script>
3.Date()函數
Date()在js中直接調用結果:Sun Oct 09 2016 14:37:15 GMT+0800 (CST)var date = new Date();
var year = date.getFullYear(); var month = date.getMonth(); var day = date.getDay(); alert("今天是"+year+"年"+month+"月"+day+"日");
4.js對象:
{firstName:"John", lastName:"Doe", age:40, eyeColor:"blue"}
*注意: notation:n. 符號;樂譜;注釋;記號法
json: javascript object notation
5.數據類型
JavaScript 有多種數據類型:數字,字符串,數組,對象等等
*注意:
16 + "你好" => "16你好"
5.JavaScript 使用Unicode字符集。
Unicode覆蓋了所有的字符,包含標點等字符。
JavaScript 中,常見的是駝峰法的命名規則,如 lastName (而不是lastname)。
6.innerHTML與innerText 區別:
1)innerHTML:
也就是從對象的起始位置到終止位置的全部內容,包括Html標簽。
2)innerText:
從起始位置到終止位置的內容, 但它去除Html標簽
<div id="test"> <span style="color:red">test1</span> test2 </div>
獲取id=test節點:
它的innerHTML就是:test1test2
它的innerText是:test1test2
*注意:
innerHTML是符合W3C標準的屬性,而innerText只適用于IE瀏覽器,因此,盡可能地去使用innerHTML,而少用
innerText,如果要輸出不含HTML標簽的內容,可以使用innerHTML取得包含HTML標簽的內容后,再用正則表達式去除HTML標簽,下面是一個簡單的符合W3C標準的示例:
去除HTML標簽后的文本
*注意:JavaScript 是腳本語言。瀏覽器會在讀取代碼時,逐行地執行腳本代碼。而對于傳統編程來說,會在執行前對所有代碼進行編譯。
var carname;
在計算機程序中,經常會聲明無值的變量。未使用值來聲明的變量,其值實際上是 undefined。
在執行過以下語句后,變量carname的值將是 undefined:
var carname="Volvo";
var carname; // 在以下兩條語句執行后,變量 carname 的值依然是 "Volvo":
對象由花括號分隔。在括號內部,對象的屬性以名稱和值對的形式 (name : value) 來定義。屬性由逗號分隔:
eg:var person={firstname:"John", lastname:"Doe", id:5566};
var person={ firstname : "John", lastname : "Doe", id : 5566 };
name=person.lastname; name=person["lastname"];
var person={ firstname : "John", "lastname" : "Doe", id : 5566 };
Undefined 這個值表示變量不含有值。
可以通過將變量的值設置為 null 來清空變量。
cars = null
person = null
之后alert(cars) 結果為null,注意不是undefined
當您聲明新變量時,可以使用關鍵詞 "new" 來聲明其類型:
var carname=new String; var x= new Number; var y= new Boolean; var cars= new Array; var person= new Object;
JavaScript 變量均為對象。當您聲明一個變量時,就創建了一個新的對象。
1)鍵值對,對象屬性
可以說 "JavaScript 對象是變量的容器"。
我們通常認為 "JavaScript 對象是鍵值對的容器"。
鍵值對在 JavaScript對象通常稱為 對象屬性。
對象鍵值對的寫法類似于:
PHP 中的關聯數組
Python 中的字典
C 語言中的哈希表
對象的方法定義了一個函數,并作為對象的屬性存儲。
對象方法通過添加 () 調用 (作為一個函數)。
name = person.fullName(); // person.fullName() 調用person對象的方法,返回的值賦值給了name
url:"http://www.xxxx", method:'GET', data:{}, header:{ 'Accept':'application/json' }, success:function(res){ that.setData({ images:res.data }) } }) // wx.request(); 調用函數.傳入的是 js對象 {}
*注意:
函數屬性作為一個方法訪問與函數屬性作為一個屬性訪問。
var person = { firstName: "John", lastName : "Doe", id : 5566, fullName : function() { return this.firstName + " " + this.lastName; } }; document.getElementById("demo").innerHTML = person.fullName(); // 方法訪問 document.getElementById("demo").innerHTML = person.fullName;
JavaScript 變量的生命期從它們被聲明的時間開始。
局部變量會在函數運行以后被刪除。
全局變量會在頁面關閉后被刪除。
如果您把值賦給尚未聲明的變量,該變量將被自動作為全局變量聲明。
carname="Volvo";
將聲明一個全局變量 carname,即使它在函數內執行。
在html中,全局變量是window對象:所有數據變量都屬于window對象
注意:要先執行myFunction()之后才能使用全局變量carName
HTML 事件是發生在HTML 元素上的事情。 當在HTML 頁面中使用 JavaScript時, JavaScript可以觸發這些事件。
var answer = "He is called 'Johnny'";
1)alert(answer[13]) ; // ' 2)answer.length 3)特殊字符
\' 單引號 \" 雙引號 \\ 反斜杠 \n 換行 \r 回車 \t tab(制表符) \b 退格符 \f 換頁符
通常,JavaScript 字符串是原始值,可以使用字符創建:var firstName = "John"
但我們也可以使用 new 關鍵字將字符串定義為一個對象:var firstName = new String("John")
不要創建String對象。它會拖慢執行速度,并可能產生其他副作用:
var x = "John"; var y = new String("John"); (x === y) // is false because x is a string and y is an object.
constructor 返回創建字符串屬性屬性的函數
length 返回字符串的長度
prototype 允許您向對象添加屬性和方法
break 語句可用于跳出循環。
break 語句跳出循環后,會繼續執行該循環之后的代碼(如果有的話):
continue 語句中斷循環中的迭代,如果出現了指定的條件,然后繼續循環中的下一個迭代。 該例子跳過了值 3:
eg:
for (i=0;i<=10;i++) { if (i==3) continue; x=x + "The number is " + i + "<br>"; }
20.JavaScript typeof, null, 和 undefined
數組是一種特殊的對象類型。 因此 typeof [1,2,3,4]返回object。
可以設置為 null 來清空對象:
var person = null;
可以設置為 undefined 來清空對象:
var person = undefined;
在 JavaScript 中, undefined 是一個沒有設置值的變量。
typeof 一個沒有值的變量會返回 undefined。
typeof undefined // undefined typeof null // object null === undefined // false null == undefined // true
Number() 轉換為數字, String() 轉換為字符串, Boolean() 轉化為布爾值。
string number boolean object function
Object Date Array
null undefined
String(x) // 將變量 x 轉換為字符串并返回 String(123) // 將數字 123 轉換為字符串并返回 String(100 + 23) // 將數字表達式轉換為字符串并返回 x.toString() (123).toString() (100 + 23).toString()
String(false) // 返回 "false" String(true) // 返回 "true"
Boolean 方法 toString() 也有相同的效果。
false.toString() // 返回 "false" true.toString() // 返回 "true"