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