日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript基础内容

發(fā)布時間:2025/3/15 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript基础内容 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1.1 JavaScript基礎(chǔ)概念:

JavaScript (ECMAScript) :JavaScript 是腳本語言。JavaScript和ECMAScript通常被人用來表達相同的含義,但是JavaScript并不是這么一點含義,它是由ECMAScript 核心. DOM 文檔對象模型. BOM 瀏覽器對象模型 這三部分組成。瀏覽器會在讀取代碼時,逐行地執(zhí)行腳本代碼。而對于傳統(tǒng)編程來說,會在執(zhí)行前對所有代碼進行編譯。


1.1.1 ECMAScript

組成部分:語法,類型,語句,關(guān)鍵字,保留字,操作符,對象。

1.1.2 DOM

文檔對象模型(DOM , Document Object Model)是針對XML但是經(jīng)過拓展用于HTML的應用程序編程接口。DOM把整個頁面

映射為一個多層節(jié)點結(jié)構(gòu),開發(fā)人員借助DOM Api對節(jié)點進行操作。

HTML DOM (文檔對象模型)

當網(wǎng)頁被加載時,瀏覽器會創(chuàng)建頁面的文檔對象模型(Document Object Model)。

HTML DOM 模型被構(gòu)造為對象的樹。

HTML DOM 樹:


? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ????

通過可編程的對象模型,JavaScript 獲得了足夠的能力來創(chuàng)建動態(tài)的 HTML。

· JavaScript 能夠改變頁面中的所有 HTML 元素

· JavaScript 能夠改變頁面中的所有 HTML 屬性

· JavaScript 能夠改變頁面中的所有 CSS 樣式

· JavaScript 能夠?qū)撁嬷械乃惺录龀龇磻?/p>


1.1.3 BOM

瀏覽器對象模型(Browser Object Model)使用BOM控制瀏覽器顯示頁面意外的部分。

1.2 在HTML中使用JavaScript方式

1.2.1 javaScript腳本加載的位置

1 通過在網(wǎng)頁中加入<Script>…</Script>標記JavaScript的開始和結(jié)束,將JavaScript代碼放到<Script>…</Script>之間

2 也可以引入一個外部的JavaScript文件,這個JavaScript文件一般以.js作為擴展名

3 原則上,放在<head></head>之間。但視情況可以放在網(wǎng)頁的任何部分

4 一個頁面可以有幾個<Script>…</Script,不同部分的方法和變量,可以共享。

1.2.2 javaScript語句的注意點

(1)對大小寫敏感

(2)自動忽略多余的空格

(3)在文本字符串中使用反斜杠對代碼行進行換行

(4)單行注釋(//)多行注釋(/* */)

1.3 JavaScript基本語法:

1.3.1 變量:

什么是變量?

變量是用于存儲信息的容器

變量的聲明

語法:

var 變量名

變量名 = 值;

變量要先聲明再賦值

變量可以重復賦值

變量的命名規(guī)則

變量必須以字母開頭;

變量也能以$和_符號開頭(不過我們不推薦這么做);

變量名稱對大小寫敏感(a和A是不同的變量)。

1.3.2 數(shù)據(jù)類型

typeof操作符:用于檢測給定變量的數(shù)據(jù)類型。

· undefined類型 只有一個特殊的值就是undefined,在使用var聲明變量但未初始化時,變量的值是undefined。

· null類型 只有一個特殊的值就是null,null值表示一個空對象指針,使用typeof操作符檢測null值會返回“object”。

· boolean類型 布爾值和布爾代數(shù)的表示完全一致,一個布爾值只有true、false兩種值,要么是true,要么是false,可以直接用true、false表示布爾值,也可以通過布爾運算計算出來。boolean****類型的字面值****true****和****false****是區(qū)分大小寫的

· number類型 JavaScript不區(qū)分整數(shù)和浮點數(shù),統(tǒng)一用Number表示,以下都是合法的Number類型:

123; // 整數(shù)123070; //八進制的560xA; //十六進制的100.456; // 浮點數(shù)0.4561.2345e3; // 科學計數(shù)法表示1.2345x1000,等同于1234.5-99; // 負數(shù)NaN; // NaN表示Not a Number,當無法計算結(jié)果時用NaN表示Infinity; // Infinity表示無限大,當數(shù)值超過了JavaScript的Number所能表示的最大值時,就表示為Infinity

  

· string類型 字符串是以單引號’或雙引號”括起來的任意文本,比如’abc’,”xyz”等等。請注意,”或”“本身只是一種表示方式,不是字符串的一部分,因此,字符串’abc’只有a,b,c這3個字符。 如果’本身也是一個字符,那就可以用”“括起來,比如”I’m OK”包含的字符是I,’,m,空格,O,K這6個字符。 如果字符串內(nèi)部既包含’又包含”怎么辦?可以用轉(zhuǎn)義字符\來標識,比如:

'I\'m \"OK\"!';

表示的字符串內(nèi)容是:I’m “OK”! 轉(zhuǎn)義字符\可以轉(zhuǎn)義很多字符,比如\n表示換行,\t表示制表符,字符\本身也要轉(zhuǎn)義,所以\表示的字符就是\。

· object類型 創(chuàng)建object類型的實例并為其添加屬性和方法,就可以創(chuàng)建自定義對象。

對象:由花括號分隔,。在括號內(nèi)部,對象的屬性以名稱和值對的形式 (name : value) 來定義。屬性由逗號分隔

對象屬性有兩種尋址方式:

name=person.lastname;name=person["lastname"];

  

1.3.3 類型轉(zhuǎn)換:

使用:Number()、parseInt() 和parseFloat() 做類型轉(zhuǎn)換

Number()強轉(zhuǎn)一個數(shù)值(包含整數(shù)和浮點數(shù))。*parseInt()強轉(zhuǎn)整數(shù),*parseFloat()強轉(zhuǎn)浮點數(shù)

  

函數(shù)isNaN()檢測參數(shù)是否不是一個數(shù)字。 is not a number

ECMAScript 中可用的 3 種強制類型轉(zhuǎn)換如下:

Boolean(value) - 把給定的值轉(zhuǎn)換成 Boolean 型;Number(value) - 把給定的值轉(zhuǎn)換成數(shù)字(可以是整數(shù)或浮點數(shù));String(value) - 把給定的值轉(zhuǎn)換成字符串;

  

1.3.4 運算符

  • 一元運算符
    • delete:用于刪除對象中屬性的 如:delete o.name; //刪除o對象中的name屬性

    void: void 運算符對任何值返回 undefined。沒有返回值的函數(shù)真正返回的都是 undefined。

    • ++ --

    一元加法和一元減法

  • 位運算符
  • 位運算 NOT ~

    位運算 AND &

    位運算 OR |

    位運算 XOR ^ (不同為1,相同則為0)

    左移運算 <<

    右移運算 >>

  • 邏輯運算符
  • 邏輯 NOT ! 運算符 非

    邏輯 AND && 運算符 與

    邏輯 OR || 運算符 或

  • 乘性運算符:*( 乘) /(除) %(取模)求余

  • 加性運算符: + -

  • *其中+號具有兩重意思:字串連接和數(shù)值求和。

    就是加號”+“兩側(cè)都是數(shù)值則求和,否則做字串連接

  • 關(guān)系運算符 > >= < <=

  • 等性運算符 == === != !==

  • 條件運算符 ? : (三元運算符)

  • 賦值運算符 = += -= *= /= %= >>= <<=

  • 10 逗號運算符

    用逗號運算符可以在一條語句中執(zhí)行多個運算。

    var iNum1=1, iNum2=2, iNum3=3;

    1.3.5 操作符

    位操作符

    32位二進制表示整數(shù),第32位為符號位

    ~ 按位非(NOT)& 按位與(AND)| 按位或(OR)^ 按位異或(XOR)<< 左移,不影響符號位>> 有符號右移,保留符號位,不影響正負<<< 無符號右移,連著符號位一起右移

    關(guān)系操作符

    操作符與C語言的語法基本類似,這里不詳細說明了。

    1.3.6 語句

  • for-in 精準的迭代語句,可以用來枚舉對象的屬性 for(var propName in window){document.write(propName);}

      

    輸出BOM中 window對象的所有屬性

    迭代前最好先檢測對象是否為null或undefined。(ECMAScript5中不執(zhí)行循環(huán)體,以前會報錯)

  • label語句,給代碼添加標簽

  • break和continue語句(break跳出循環(huán),直接執(zhí)行循環(huán)后的代碼。continue跳出當前循環(huán),接著進入下一次循環(huán))

  • with語句(不建議使用,可讀性差)

  • switch語句

    var num = 15;switch (true){ //輸出 Between 10 and 20,如果是false就輸出 Less than 0case num<0:alert("Less than 0");break;case num>=0&&num<=1:alert("Between 0 and 1");break;case num>10&&num<=20:alert("Between 10 and 20");break;default:alert("More than 20");}

      

    1.3.7 數(shù)組

    JavaScript的Array可以包含任意數(shù)據(jù)類型,并通過索引來訪問每個元素。

    要取得Array的長度,直接訪問length屬性:

    var arr = [1, 2, 3.14, 'Hello', null, true];arr.length; // 6

      

    這里要注意,直接給Array的length賦一個新的值會導致Array大小發(fā)生變化:

    var arr = [1, 2, 3];arr.length; // 3arr.length = 6;arr; // arr變?yōu)閇1, 2, 3, undefined, undefined, undefined]arr.length = 2;arr; // arr變?yōu)閇1, 2]

      

    Array可以通過索引把對應的元素修改為新的值,因此,對Array的索引進行賦值會直接修改這個Array:

    var arr = ['A', 'B', 'C'];arr[1] = 99;arr; // arr現(xiàn)在變?yōu)閇'A', 99, 'C']

      

    請注意,如果通過索引賦值時,索引超過了范圍,同樣會引起Array大小的變化:

    var arr = [1, 2, 3];arr[5] = 'x';arr; // arr變?yōu)閇1, 2, 3, undefined, undefined, 'x']

      

    大多數(shù)其他編程語言不允許直接改變數(shù)組的大小,越界訪問索引會報錯。然而,JavaScript的Array卻不會有任何錯誤。在編寫代碼時,不建議直接修改Array的大小,訪問索引時要確保索引不會越界。

  • 轉(zhuǎn)換方法 所有對象都具有toLocaleString(),toString(),valueOf()方法。
  • · var colors = ["red", "blue", "green"]; //creates an array with three strings· alert(colors.toString()); //red,blue,green· alert(colors.valueOf()); //red,blue,green· alert(colors); //red,blue,green

      

    首先調(diào)用toString()方法,返回數(shù)組的字符串表示。toLocaleString()方法經(jīng)常返回與toString()和valueOf()方法相同的值,但不同的是,調(diào)用的是每一項的toLocaleString()方法,而不是toString()。

    var person1 = {toLocaleString : function () {return "Nikolaos";},toString : function() {return "Nicholas";}};var person2 = {toLocaleString : function () {return "Grigorios";},toString : function() {return "Greg";}};var people = [person1, person2];alert(people); //Nicholas,Gregalert(people.toString()); //Nicholas,Gregalert(people.toLocaleString()); //Nikolaos,Grigorios

      

  • indexOf
  • 與String類似,Array也可以通過indexOf()來搜索一個指定的元素的位置:

    var arr = [10, 20, '30', 'xyz'];arr.indexOf(10); // 元素10的索引為0arr.indexOf(20); // 元素20的索引為1arr.indexOf(30); // 元素30沒有找到,返回-1arr.indexOf('30'); // 元素'30'的索引為2

      

    數(shù)字****30****和字符串****’30’****是不同的元素。

  • slice
  • slice()就是對應String的substring()版本,它截取Array的部分元素,然后返回一個新的Array:

    var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];arr.slice(0, 3); // 從索引0開始,到索引3結(jié)束,但不包括索引3: ['A', 'B', 'C']arr.slice(3); // 從索引3開始到結(jié)束: ['D', 'E', 'F', 'G']

      

    注意到slice()的起止參數(shù)包括開始索引,不包括結(jié)束索引。

    如果不給slice()傳遞任何參數(shù),它就會從頭到尾截取所有元素。利用這一點,我們可以很容易地復制一個Array:

    var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];var aCopy = arr.slice();aCopy; // ['A', 'B', 'C', 'D', 'E', 'F', 'G']aCopy === arr; // false

      

    在只有一個參數(shù)時,返回從該參數(shù)指定位置開始到當前數(shù)組末尾的所有項,如果有兩個參數(shù),返回起始和結(jié)束位置之間的一項(但不包括結(jié)束位置的項)。 slice(****)方法不會影響原始數(shù)組

    var colors = ["red", "green", "blue", "yellow", "purple"];var colors2 = colors.slice(1);var colors3 = colors.slice(1,4);alert(colors2); //green,blue,yellow,purplealert(colors3); //green,blue,yellow

      

  • push和pop
  • push()向Array的末尾添加若干元素,pop()則把Array的最后一個元素刪除掉:

    var arr = [1, 2];arr.push('A', 'B'); // 返回Array新的長度: 4arr; // [1, 2, 'A', 'B']arr.pop(); // pop()返回'B'arr; // [1, 2, 'A']arr.pop(); arr.pop(); arr.pop(); // 連續(xù)pop 3次arr; // []arr.pop(); // 空數(shù)組繼續(xù)pop不會報錯,而是返回undefinedarr; // []

      

  • unshift和shift
  • 如果要往Array的頭部添加若干元素,使用unshift()方法,shift()方法則把Array的第一個元素刪掉:

    var arr = [1, 2];arr.unshift('A', 'B'); // 返回Array新的長度: 4arr; // ['A', 'B', 1, 2]arr.shift(); // 'A'arr; // ['B', 1, 2]arr.shift(); arr.shift(); arr.shift(); // 連續(xù)shift 3次arr; // []arr.shift(); // 空數(shù)組繼續(xù)shift不會報錯,而是返回undefinedarr; // []

      

  • unshift和shift
  • 如果要往Array的頭部添加若干元素,使用unshift()方法,shift()方法則把Array的第一個元素刪掉:

    var arr = [1, 2];arr.unshift('A', 'B'); // 返回Array新的長度: 4arr; // ['A', 'B', 1, 2]arr.shift(); // 'A'arr; // ['B', 1, 2]arr.shift(); arr.shift(); arr.shift(); // 連續(xù)shift 3次arr; // []arr.shift(); // 空數(shù)組繼續(xù)shift不會報錯,而是返回undefinedarr; // []

      

  • sort
  • sort()可以對當前Array進行排序,它會直接修改當前Array的元素位置,直接調(diào)用時,按照默認順序排序:

    var arr = ['B', 'C', 'A'];arr.sort();arr; // ['A', 'B', 'C']

      

    比較函數(shù)

    function compare(value1, value2) {if (value1 < value2) {return -1;} else if (value1 > value2) {return 1;} else {return 0;}}var values = [0, 1, 5, 10, 15];values.sort(compare);alert(values); //0,1,5,10,15

      

    降序排序

    function compare(value1, value2) {if (value1 < value2) {return 1;} else if (value1 > value2) {return -1;} else {return 0;}}var values = [0, 1, 5, 10, 15];values.sort(compare);alert(values); //15,10,5,1,0

      

  • reverse
  • reverse()把整個Array的元素反轉(zhuǎn):

    var arr = ['one', 'two', 'three'];arr.reverse();arr; // ['three', 'two', 'one']

      

  • splice
  • splice()方法是修改Array的“萬能方法”,它可以從指定的索引開始刪除若干元素,然后再從該位置添加若干元素: 1.刪除:指定2個參數(shù):要刪除的第一項和要刪除的項數(shù)。 2.插入:提供3個參數(shù):起始位置、要刪除的項數(shù)、要插入的項數(shù)。 3.替換:指定3個參數(shù):起始位置、要刪除的項數(shù)、要插入的任意數(shù)量的項。

    var colors = ["red", "green", "blue"];var removed = colors.splice(0,1); //刪除第一項alert(colors); //green,bluealert(removed); //red - 返回數(shù)組中只包含一項removed = colors.splice(1, 0, "yellow", "orange"); //從位置1開始插入兩項alert(colors); //green,yellow,orange,bluealert(removed); //返回的是一個空數(shù)組removed = colors.splice(1, 1, "red", "purple"); //插入兩項,刪除一項alert(colors); //green,red,purple,orange,bluealert(removed); //yellow - 返回數(shù)組中只包含一項

      

  • concat
  • concat()方法把當前的Array和另一個Array連接起來,并返回一個新的Array:

    var arr = ['A', 'B', 'C'];var added = arr.concat([1, 2, 3]);added; // ['A', 'B', 'C', 1, 2, 3]arr; // ['A', 'B', 'C']

      

    concat()****方法并沒有修改當前****Array****,而是返回了一個新的****Array****。

    實際上,concat()方法可以接收任意個元素和Array,并且自動把Array拆開,然后全部添加到新的Array里:

    var arr = ['A', 'B', 'C'];arr.concat(1, 2, [3, 4]); // ['A', 'B', 'C', 1, 2, 3, 4]

    ?

  • join
  • join()方法是一個非常實用的方法,它把當前Array的每個元素都用指定的字符串連接起來,然后返回連接后的字符串:

    var arr = ['A', 'B', 'C', 1, 2, 3];arr.join('-'); // 'A-B-C-1-2-3'

      

    如果Array的元素不是字符串,將自動轉(zhuǎn)換為字符串后再連接。

    1.3.8 對象

    屬性是與對象相關(guān)的值。

    方法是能夠在對象上執(zhí)行的動作。

    (1)創(chuàng)建 javaScript對象

    JavaScript 中的幾乎所有事務(wù)都是對象:字符串、數(shù)字、數(shù)組、日期、函數(shù),等等。

    你也可以創(chuàng)建自己的對象。

    person=new Object(); person.firstname="Bill"; person.lastname="Gates"; person.age=56; person.eyecolor="blue";

      

    (2)訪問對象的屬性

    objectNamepropertyNamevar message="Hello World!"; var x=message.length;

      

    (3)訪問對象的方法

    objectNamemethodNamevar message="Hello world!"; var x=message.toUpperCase();

      

    Date對象:

    創(chuàng)建方式:

    myDate = new Date();

      

    日期起始值:1970年1月1日00:00:00

    主要方法

    getYear(): 返回年數(shù) setYear(): 設(shè)置年數(shù)getMonth(): 返回月數(shù) setMonth():設(shè)置月數(shù)getDate(): 返回日數(shù) setDate():設(shè)置日數(shù)getDay(): 返回星期幾 setDay():設(shè)置星期數(shù)getHours():返回小時數(shù) setHours():設(shè)置小時數(shù)getMinutes():返回分鐘數(shù) setMintes():設(shè)置分鐘數(shù)getSeconds():返回秒數(shù) setSeconds():設(shè)置秒數(shù)getTime() : 返回毫秒數(shù) setTime() :設(shè)置毫秒數(shù)

      

    1.3.9 異常

    try 語句測試代碼塊的錯誤。 catch 語句處理錯誤。 throw 語句創(chuàng)建自定義錯誤。

    (****1****)****JavaScript 測試和捕捉 try 語句允許我們定義在執(zhí)行時進行錯誤測試的代碼塊。 catch 語句允許我們定義當 try 代碼塊發(fā)生錯誤時,所執(zhí)行的代碼塊。 JavaScript 語句 try 和 catch 是成對出現(xiàn)的。 (****2****)****Throw 語句 throw 語句允許我們創(chuàng)建自定義錯誤。 正確的技術(shù)術(shù)語是:創(chuàng)建或拋出異常(exception)。 如果把 throw 與 try 和 catch 一起使用,那么您能夠控制程序流,并生成自定義的錯誤消息。

    <script> function myFunction() { try { var x=document.getElementById("demo").value; if(x=="") throw "empty"; if(isNaN(x)) throw "not a number"; if(x>10) throw "too high"; if(x<5) throw "too low"; } catch(err) { var y=document.getElementById("mess"); y.innerHTML="Error: " + err + "."; } } </script>

      

    1.3.10 函數(shù)

    (1)函數(shù)語法

    function functionname(){這里是要執(zhí)行的代碼}

      

    (2)帶參數(shù)的函數(shù)

    function myFunction(var1,var2){這里是要執(zhí)行的代碼}

      

    (3)帶有返回值的函數(shù)

    function myFunction(){var x=5;return x;}

      

    若僅僅希望退出函數(shù)時 ,也可使用 return 語句

    function myFunction(a,b){if (a>b){return;}x=a+b}

      

    1.3.11 內(nèi)置函數(shù)

  • Date:日期函數(shù)
  • 屬性(1): constructor 所修立對象的函數(shù)參考 prototype能夠為對象加進的屬性和方法 辦法(43): getDay() 返回一周中的第幾天(0-6) getYear() 返回年份.2000年以前為2位,2000(包括)以后為4位 getFullYear()返回完全的4位年份數(shù) getMonth()返回月份數(shù)(0-11) getDate() 返回日(1-31) getHours() 返回小時數(shù)(0-23) getMinutes() 返回分鐘(0-59) getSeconds() 返回秒數(shù)(0-59) getMilliseconds() 返回毫秒(0-999) getUTCDay() 依據(jù)國際時間來得到如今是禮拜幾(0-6) getUTCFullYear() 根據(jù)邦際時間來失掉完全的年份 getUTCMonth()依據(jù)國際時間來得到月份(0-11) getUTCDate() 依據(jù)國際時間來失掉日(1-31) getUTCHours() 依據(jù)國際時間來失掉小時(0-23) getUTCMinutes() 根據(jù)邦際光陰來往歸分鐘(0-59) getUTCSeconds() 依據(jù)國際時間來返回秒(0-59) getUTCMilliseconds()依據(jù)國際時間來返回毫秒(0-999) getTime() 前往自1970年1月1號0:0:0到如今一同花來的毫秒數(shù) getTimezoneoffset()往歸時區(qū)偏偏差值,便格林威亂均勻時光(GMT)取運轉(zhuǎn)足原的盤算機所處時區(qū)設(shè)置之間相差的分鐘數(shù)) parse(dateString) 返回正在Date字符串中自從1970年1月1日00:00:00以來的毫秒數(shù) setYear(yearInt)設(shè)置年份.2位數(shù)或4位數(shù) setFullYear(yearInt)設(shè)置年份.4位數(shù) setMonth(monthInt)設(shè)放月份(0-11) setDate(dateInt) 設(shè)置日(1-31) setHours(hourInt) 設(shè)置小時數(shù)(0-23) setMinutes(minInt) 設(shè)置分鐘數(shù)(0-59) setSeconds(secInt) 設(shè)放秒數(shù)(0-59) setMilliseconds(milliInt) 設(shè)放毫秒(0-999) setUTCFullYear(yearInt) 依據(jù)國際時間來設(shè)置年份 setUTCMonth(monthInt)依據(jù)國際時間來設(shè)置月(0-11) setUTCDate(dateInt) 依據(jù)國際時間來設(shè)置日(1-31) setUTCHours(hourInt) 依據(jù)國際時間來設(shè)置小時 setUTCMinutes(minInt)依據(jù)國際時間來設(shè)置分鐘 setUTCSeconds(secInt)依據(jù)國際時間來設(shè)置秒 setUTCMilliseconds(milliInt)根據(jù)邦際時間來設(shè)置毫秒 setTime(timeInt)設(shè)置自1970年1月1日開端的時間.毫秒數(shù) toGMTString()依據(jù)格林威亂時光將Date對于象的日期(一個數(shù)值)改變成一個GMT光陰字符串,如:Weds,15 June l997 14:02:02 GMT toUTCString() 依據(jù)通用時間將一個Date對象的日期轉(zhuǎn)換為一個字符串 toLocaleString()把Date對象的日期(一個數(shù)值)改變成一個字符串,使用所在盤算機上配置使用的特定日期格局 toSource()顯示對象的源代碼 toString()將日期對象轉(zhuǎn)換為字符串 UTC(yyyy, mm, dd, hh, mm, ss, msec)往歸自格林威亂尺度光陰到指訂時光的差距,雙位為毫秒 valueOf()返回日期對象的本初值

    2.Math:數(shù)學函數(shù)

    constructor 所樹立對象的函數(shù)參考 prototype可以為對于象參加的屬性和方式 E歐推常質(zhì),天然對數(shù)的頂(約等于2.718) LN2 2的天然對數(shù)(約即是0.693) LN10 10的天然對數(shù)(約等于2.302) LOG2E 以2為頂?shù)膃的對數(shù).(約等于1.442) LOG10E 以10為頂?shù)膃的對數(shù)(約等于0.434) PI ∏的值(約即是3.14159) SQRT1_2 1/2(0.5)的平方根(便l除以2的平方根,約即是o.707) SQRT2 2的平方根(約等于1.414) 方法: abs(x) 返回數(shù)字的相對值 acos(x)返回數(shù)字的反余弦值 asin(x)返回數(shù)字的反正弦值 atan(x)返回位于-PI/2 和 PI/2 的反正切值 atan2(y,x)前往(x,y)位于 -PI 到 PI 之間的角度 ceil(x)返回 x 四舍五入后的最大整數(shù) cos(x)前往一個數(shù)字的余弦值 exp(x)返回 E^x 值 floor(x)返回 x 四舍五入后的最小整數(shù) log(x)返回底數(shù)為E的自然對數(shù) max(x,y)返回 x 和 y 之間較大的數(shù) min(x,y)返回 x 和 y 之間較小的數(shù) pow(x,y)返回 y^x 的值 random()返回位于 0 到 1 之間的隨機函數(shù) round(x)四舍五進后與整 sin(x)返回數(shù)字的正弦值 sqrt(x)返回數(shù)字的平方根 tan(x)返回一個角度的正切值 toSource()顯示對象的流代碼 valueOf()返回數(shù)教對象的本初值3.Number 屬性: MAX_VALUE The largest possible value a number in JavaScript can have 1.7976931348623157E+308 MIN_VALUE The smallest possible value a number in JavaScript can have 5E-324 NaN Equal to a value that is not a number. NEGATIVE_INFINITY A value that is less than MIN_VALUE. POSOTIVE_INFINITY A value that is greater than MAX_VALUE. prototype A static property of the Number object 方法: toString Returns a string representing the specified object valueOf() 返回數(shù)教對象的本初值4.Boolean屬性: constructor 所樹立對象的函數(shù)參考 prototype可以為對象參加的屬性和方式 法子: toSource() 顯示對象的流代碼 toString()將布我值轉(zhuǎn)換為字符串,并且返回成果 valueOf()返回布我對象的原始值

  • String :字符函數(shù)
  • 屬性: constructor 所樹立對象的函數(shù)參考 prototype可以為對于象參加的屬性和方式 length返回字符串的字符長度 法子(20): anchor("name")用來把字符串轉(zhuǎn)換為HTML錨面標志內(nèi)(<A NAME=>) big() 把字符串中的文本變成大字體(<BIG>) blink() 把字符串中的文本變成閃耀字體(<BLINK>) bold() 把字符串中的文本變成烏字體(<B>) fixed() 把字符串中的文本變成流動間距字體,便電報情勢(<TT>) fontcolor(color)設(shè)置字符串中文本的色彩(<FONT COLOR=>) Fontsize(size) 把字符串中的文本變成指定大小(<FONTSIZE=>) italics() 把字符串中的白原變成斜字體(<I>) Link(url)用來把字符串轉(zhuǎn)換-HTML鏈交標志中(<A HREF=>) small() 把字符串中的文本變成小字體(<SMALL>) strike() 把字符串中的文本變成劃掉字體(<STRIKE>) sub() 把字符串中的文本變成下標(subscript)字體((SUB>) sup() 把字符串中的文本變成上標(superscript)字體(<SUP>) charAt(index) 返回指定索引處的字符 charCodeAt(index)返回一個整數(shù),該整數(shù)表現(xiàn)String對象中指定位置處的字符的Unicode編碼 concat(string2)銜接兩條或少條字符串 fromCharCode(num1, num2, …,BB霜, numN)獲取指定的Unicode值并返回字符串 indexOf(searchString, startIndex)返回字符串中第一個呈現(xiàn)指定字符串的地位 lastlndexOf(searchString, startIndex)返回字符串中最后一個呈現(xiàn)指定字符串的地位 match(regex)在字符串中查覓指定值 replace(regex, newString)將字符串中的某些字符替代成其它字符 search(regex)針對某施行值對字符串入止查覓 slice(startIndex, endIndex)將部門字符抽出并在新的字符串中返回剩余局部 split(delimiter)將字符串分配為數(shù)組 substr(startIndex, length)從startIndex與,取length個字符 substring(startIndex, endIndex)從startIndex和endIndex之間的字符,沒有包含endIndex toLowerCase() 把字符串中的文本變成小寫 toUpperCase()把字符串中的白本變成大寫 toSource()顯示對象的源代碼 valueOf()返回字符串對象的原始值

    4.Array :數(shù)組函數(shù)

    屬性: constructor 所修立對象的函數(shù)參考 prototype能夠為對象加入的屬性和方法 index For an array created by a regular expression match, the zero-based index of the match in the string. input For an array created by a regular expression match, reflects the original string against which the regular expression was matched. length獲取數(shù)組元素的個數(shù),即最大下標加1辦法(13):concat(array1,arrayn)將兩個或兩個以上的數(shù)組值銜接止來,合并后返回成果 join(string)將數(shù)組中元素合并為字符串,十月媽咪,string為分隔符.如省詳參數(shù)則直交合并,不再分隔 pop()移除數(shù)組中的最后一個元素并返回當元素 push(value)在數(shù)組的終尾加上一個或多個元素,并且返回新的數(shù)組長度值 reverse()倒置數(shù)組中元素的次序,反背排列 shift()移除數(shù)組中的第一個元素并返回當元素 slice(start, deleteCount, [item1[, item2[,...[,itemN]]]])返從一個數(shù)組中移除一個或少個元素,假如必要,在所移除元素的地位上拔出新元素,返回所移除的元素 sort(compare Function)在已指定排序號的情形下,依照元素的字女次序排列,假如不是字符串類型則轉(zhuǎn)換成字符串再排序,返回排序后的數(shù)組 splice()為數(shù)組刪除并加加新的元素 toSource()顯示對象的源代碼 toString()將數(shù)組一切元素返回一個字符串,其間用逗號分隔 unshift(value)為數(shù)組的開端部門加上一個或者少個元葷,并且返回當數(shù)組的新長度 valueOf()返回數(shù)組對象的原始值

    5.齊局

    屬性: Infinity 指定一個正負無限大的數(shù)值 NaN指定一個 “非數(shù)字” 值 undefined指訂一個已被賦值的變質(zhì)法子:decodeURI() 為加稀的URI入止解碼 decodeURIComponent()為加稀的URI組件解碼 encodeURI()將字符串加密為URI encodeURIComponent() 將字符串加稀為URI組件 escape(string)加密一個字符串 ()使用escape()對一個字符串入止解碼 eval_r(string)斷定一個字符串并將其以足本代碼的情勢施行 isFinite(number)檢測一個值能否為一個有限數(shù)字,返回True或False isNaN(string) 檢測一個值能否沒有是一個有限數(shù)字 Number()將一個對象的值轉(zhuǎn)換為一個數(shù)字 parseFloat(string)將一個字符串解析為一個浮面數(shù)字 parseInt(string)將一個字符串解析為一個整數(shù),沒有是四舍五進操做,而是切尾 String(object)將一個對象值轉(zhuǎn)換為一個字符串 number(object)

    6.事情

    屬性: a.窗心事件,只在body和frameset元素中才有效 onload頁里或者圖片加載完成時 onunload用戶分開頁里時 b.表雙元素事情,正在表雙元素中才有效 onchange框內(nèi)容轉(zhuǎn)變時 onsubmit點打降接按鈕時 onreset沉新點擊鼠標按鍵時 onselect白原被挑選時 onblur元素失來焦點時 onfocus該元素獲與焦面時 c.鍵盤事情,base,bdo,br,frame,frameset,head,html,iframe,meta,param,script,style,title元素里皆無效 onkeydown按下鍵盤按鍵時 onkeypress按下或按住鍵盤按鍵時 onkeyup擱啟鍵盤按鍵時 d.正在base,bdo,br,frame,frameset,head,html,iframe,meta,param,script,style,title元葷里皆無效 onclick鼠標點打一個對象時 ondblclick鼠標雙打一個對象時 onmousedown鼠本被按下時 onmousemove鼠標被挪動時 onmouseout鼠本分開元葷時 onmouseover鼠標經(jīng)由元素時 onmouseup開釋鼠本按鍵時

    1.4 JavaScript常用技巧函數(shù):

    1.4.1 HTML的標簽(節(jié)點)操作

    document.write(""); //輸出的document.getElementById("id名"); //獲取html頁面標簽中,標簽id屬性等于此值的對象。如:var id = document.getElementById("hid"); //獲取id值為hid的標簽對象document.getElementsByTagName("標簽名"); //獲取當前文檔執(zhí)行的標簽對象

      

    1.4.2 HTML標簽對象的操作:

    標簽對象.innerHTML="內(nèi)容";//在標簽對象內(nèi)放置指定內(nèi)容標簽對象.style.css屬性名="值" //改變標簽對象的樣式。示例:id.style.color="red";注意:屬性名相當于變量名,所以css屬性名中的減號要去掉,將后面的首字母大寫。如:font-size(css)---> fontSize(JS屬性)標簽對象.value;//獲取標簽對象的value值標簽對象.value=”值“;//設(shè)置標簽對象的value值

      

    1.4.3 輸出內(nèi)容(document.write)

    document.write()直接在網(wǎng)頁中輸出內(nèi)容。

    第一種:輸出內(nèi)容用“”括起,直接輸出“”號內(nèi)的內(nèi)容。

    document.write("I love JavaScript!");

      

    第二種:通過變量,輸出內(nèi)容

    var mystr = "hello world";document.write(mysrt);//直接寫變量名,輸出變量存儲的內(nèi)容

      

    第三種:輸出多項內(nèi)容,內(nèi)容之間用+號連接。

    var mystr = "hello";document.write(mystr + "I love Java Script");//多項內(nèi)容之間用+號連接

      

    第四種:輸出HTML標簽,并起作用,標簽使用“”括起來。

    var mystr="hello";document.write(mystr+"<br>");//輸出hello后,輸出一個換行符document.write("JavaScript");

      

    1.4.4 警告(alert 消息對話框)

    我們在訪問網(wǎng)站的時候,有時會突然彈出一個小窗口,上面寫著一段提示信息文字。如果你不點擊“確定”,就不能對網(wǎng)頁做任何操作,這個小窗口就是使用alert實現(xiàn)的。

    語法:alert(字符串或變量);

    var mynum = 30;alert("hello!");alert(mynum);

      

    結(jié)果:按順序彈出消息框(alert彈出消息對話框包含一個確定按鈕)

    注意:

    1. 在點擊對話框"確定"按鈕前,不能進行任何其它操作。

    2. 消息對話框通常可以用于調(diào)試程序。

    3. alert輸出內(nèi)容,可以是字符串或變量,與document.write 相似

    1.4.5 確認選擇(confirm 消息對話框)

    除了向用戶提供信息,我們還希望從用戶那里獲得信息。這里就用到了confirm 消息對話框。

    confirm 消息對話框通常用于允許用戶做選擇的動作,如:“你對嗎?”等。彈出對話框(包括一個確定按鈕和一個取消按鈕)。

    語法:confirm(str);

    參數(shù)說明:str:在消息對話框中要顯示的文本 返回值:Boolean值

    返回值:

    當用戶點擊"確定"按鈕時,返回true

    當用戶點擊"取消"按鈕時,返回false

    注: 通過返回值可以判斷用戶點擊了什么按鈕

    <script type="text/javascript">var mymessage=confirm("你喜歡JavaScript嗎?");if(mymessage==true){document.write("很好,加油!");}else{document.write("JS功能強大,要學習噢!");}</script>

      

    1.4.6 提問(prompt 消息對話框)

    有時候,不僅希望用戶回答Yes/No。而是希望得到更特定的響應。這中情況我們可以利用prompt。

    prompt彈出消息對話框,通常用于詢問一些需要與用戶交互的信息。彈出消息對話框(包含一個確定按鈕、取消按鈕與一個文本輸入框)。

    語法:

    prompt(str1,str2);

      

    參數(shù)說明:

    str1:要顯示在消息對話框中的文本,不可修改

    str2:文本框中的內(nèi)容,可以修改

    返回值:

    1、點擊確定按鈕,文本框中的內(nèi)容將作為函數(shù)返回值

    2、點擊取消按鈕,將返回null

    function rec(){var score; //score變量,用來存儲用戶輸入的成績值。score = prompt("請輸入你的成績","90");if(score>=90){document.write("你很棒!");}else if(score>=75){document.write("不錯吆!");}else if(score>=60){document.write("要加油!");}else{document.write("要努力了!");};} ;<script>var myName = prompt("輸入您的名字");if(myName != null && myName != ""){document.write("welcom to" + myName);}else{document.write("welcom to my friend");}</script>

      

    1.4.7 打開新窗口(window.open)

    語法:

    window.open([URL], [窗口名稱], [參數(shù)字符串])

      

    參數(shù)說明:

    URL:可選參數(shù),在窗口中要顯示網(wǎng)頁的網(wǎng)址或路徑。如果省略這個參數(shù),或者它的值是空字符串,那么窗口就不顯示任何文檔。

    窗口名稱:可選參數(shù),被打開窗口的名稱。

    1.該名稱由字母、數(shù)字和下劃線字符組成。

    2.窗口名稱:可選,該字符串是一個由逗號分隔的特征列表,聲明了被打開窗口的名稱。可以是"_top"、"_blank"、"_selft"、"_parent"等。

    _blank 在新窗口顯示目標網(wǎng)頁_selft 在當前窗口顯示目標網(wǎng)頁_parent 框架網(wǎng)頁中當前整個窗口位置顯示目標網(wǎng)頁_top 框架網(wǎng)頁中在上部窗口中顯示目標網(wǎng)頁

      

    3.相同 name 的窗口只能創(chuàng)建一個,要想創(chuàng)建多個窗口則 name 不能相同。

    4.name 不能包含有空格。

    參數(shù)字符串:可選參數(shù),設(shè)置窗口參數(shù),各參數(shù)用逗號隔開。

    參數(shù)表:

    top    Number  窗口頂部離開屏幕頂部的像素數(shù)left    Number  窗口左端離開屏幕左端的像素數(shù)width    Number  窗口的寬度height    Number  窗口的高度menubar    yes,no  窗口有沒有菜單toolbar    yes,no  窗口有沒有工具條scrollbars    yes,no   窗口有沒有滾動條status      yes,no   窗口有沒有狀態(tài)欄<script type="text/javascript">window.open('http://','_blank','width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes')

      

    1.4.8 關(guān)閉窗口(window.close)

    close()關(guān)閉窗口

    用法:

    window.close();//關(guān)閉本窗口<窗口對象>.close();//關(guān)閉指定的窗口//例如:關(guān)閉新建的窗口。<script type="text/javascript">var mywin=window.open('//www.jb51.net'); //將新打的窗口對象,存儲在變量mywin中mywin.close();</script>

      

    1.4.9 innerHTML屬性

    innerHTML屬性用于獲取或替換HTML元素的內(nèi)容。

    語法:

    Object.innerHTML

      

    Object是獲取的元素對象,如通過document.getElementById("ID")獲取元素。

    <h2 id="con">javascript</H2><script type="text/javascript">var mychar=document.getElementById("con");document.write("原標題:"+mychar.innerHTML+"<br>"); //輸出原h(huán)2標簽內(nèi)容mychar.innerHTML="hello world"document.write("修改后的標題:"+mychar.innerHTML); //輸出修改后h2標簽內(nèi)容</script>

      

    1.4.10 改變HTML樣式

    語法:

    Object.style.property=new style;//注意:Object是獲取的元素對象,如通過document.getElementById("id")獲取的元素<h2 id="con">I love JavaScript</h2><script type="text/javascript">var mychar= document.getElementById("con");mychar.style.color="red";mychar.style.background="#ccc";mychar.style.width="300px";</script>

      

    1.4.11 顯示和隱藏(display屬性)

    語法:

    Object.style.display = value

      

    value值:

    none 此元素不會被顯示(及隱藏)block 此元素將顯示為塊級元素(即顯示)mychar.style.display = "block"

      

    1.4.12 控制類名(className屬性)

    className屬性設(shè)置或返回元素的class屬性。

    語法:

    object.className = classname

      

    作用:

    1、獲取元素的class屬性

    2、為網(wǎng)頁內(nèi)的某個元素指定一個css樣式來更改該元素的外觀

    p2.className = "two";

      

    以上這篇Javascript基礎(chǔ)學習筆記(菜鳥必看篇)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

    1.5 JavaScript 表單驗證

    JavaScript 可用來在數(shù)據(jù)被送往服務(wù)器前對HTML 表單中的這些輸入數(shù)據(jù)進行驗證

    被JavaScript 驗證的這些典型的表單數(shù)據(jù)有:

    · 用戶是否已填寫表單中的必填項目?

    · 用戶輸入的郵件地址是否合法?

    · 用戶是否已輸入合法的日期?

    · 用戶是否在數(shù)據(jù)域 (numeric field) 中輸入了文本?

    1.5.1 利用onsubmit表單認證

    如下為一個javacript的一個重要功能應用,利用onsubmit表單認證

    <html><head><script type="text/javascript">fuvtion check(){if(document.text.t.value==""){alert("字符不能為空");return false;}return true;}</script></head><body><from name="test" action="test.html" onsubmit ="return check()"><input type="text" name="t"><input type="submit" value="OK"></body></html>

      

    1.5.2 必填(或必選)項目

    <html><head><script type="text/javascript">function validate_required(field,alerttxt){with (field){if (value==null||value==""){alert(alerttxt);return false}else {return true}}}function validate_form(thisform){with (thisform){if (validate_required(email,"Email must be filled out!")==false){email.focus();return false}}}</script></head><body><form action="submitpage.htm" οnsubmit="return validate_form(this)" method="post">Email: <input type="text" name="email" size="30"><input type="submit" value="Submit"></form></body></html>

      

    1.5.3 E-mail驗證

    意思就是說,輸入的數(shù)據(jù)必須包含 @ 符號和點號(.)。同時,@ 不可以是郵件地址的首字符,并且 @ 之后需有至少一個點

    <html><head><script type="text/javascript">function validate_email(field,alerttxt){with (field){apos=value.indexOf("@")dotpos=value.lastIndexOf(".")if (apos<1||dotpos-apos<2){alert(alerttxt);return false}else {return true}}}function validate_form(thisform){with (thisform){if (validate_email(email,"Not a valid e-mail address!")==false){email.focus();return false}}}</script></head><body><form action="submitpage.htm"οnsubmit="return validate_form(this);" method="post">Email: <input type="text" name="email" size="30"><input type="submit" value="Submit"></form></body></html>

      

    說明:

    with(field){};設(shè)定作用域

    focus() 方法用于給予該元素焦點。這樣用戶不必點擊它,就能編輯顯示的文本了。

    1.6 JavaScript事件處理:

    1.6.1 使用一個匿名或回調(diào)函數(shù)添加事件

    有三種方法加事件

    第一種:

    格式:

    <tag on事件="事件處理程序" />

      

    *第二種:

    <script>對象.on事件=事件處理程序</script>

    ?

    第三種:(火狐不兼容)

    <script for="事件源ID" event="on事件">事件處理程序</script>

      

    1.6.2 事件對象:

    屬性:

    1\. srcElement2\. keyCode 鍵盤值

      

    1.6.3 事件 event window.event

    1\. srcElement 代表事件源對象2\. keyCode 事件發(fā)生時的鍵盤碼 keypress , keydown keyup3\. clientX, clientY 坐標位置4\. screenX, screenY5\. returnValue6\. cancelBubble;//為頁面添加鼠標右點擊事件window.document.οncοntextmenu=function(ent){//兼容IE和火狐瀏覽器兼容var event=ent || window.event;//獲取事件坐標位置var x=event.clientX;var y=event.clientY;...}/*********************對象添加事件*******************/function addEvent(obj,type,fun){obj=$(obj);if(obj.addEventListener){obj.addEventListener(type,fun); //FFreturn true;}else if(obj.attachEvent){return obj.attachEvent("on"+type,fun); //IE}else{return false;};};/*********************對象刪除事件*******************/function delEvent(obj,type,fun){obj=$(obj);if(obj.addEventListener){obj.removeEventListener(type,fun);return true;}else if(obj.attachEvent){obj.detachEvent("on"+type,fun);return true;}else{return false;};};document.getElementById("one").offsetHeight; //獲取one對應對象的高度obj.offsetTop 指 obj 距離上方或上層控件的位置,整型,單位像素。obj.offsetLeft 指 obj 距離左方或上層控件的位置,整型,單位像素。obj.offsetWidth 指 obj 控件自身的寬度,整型,單位像素。obj.offsetHeight 指 obj 控件自身的高度,整型,單位像素。document.all ? 'IE' : 'others':在IE下document.all值為1,而其他瀏覽器下的值為0;

      

    1.7 BOM

    1.7.1 window對象

    <button οnclick="window.location=''">跳轉(zhuǎn)</button>

      

    常用的屬性:

    *document :對 Document 對象的只讀引用*history:對 History 對象的只讀引用。*location:用于窗口或框架的 Location 對象Navigator: 對 Navigator 對象的只讀引用*parent: 返回父窗口。length: 設(shè)置或返回窗口中的框架數(shù)量。Screen: 對 Screen 對象的只讀引用status: 設(shè)置窗口狀態(tài)欄的文本。top: 返回最頂層的先輩窗口。

      

    常用方法:

    alert() 顯示帶有一段消息和一個確認按鈕的警告框。confirm() 顯示帶有一段消息以及確認按鈕和取消按鈕的對話框。prompt() 顯示可提示用戶輸入的對話框。close() 關(guān)閉瀏覽器窗口。open() 打開一個新的瀏覽器窗口或查找一個已命名的窗口。scrollTo() 把內(nèi)容滾動到指定的坐標。setTimeout() 在指定的毫秒數(shù)后調(diào)用函數(shù)或計算表達式。clearTimeout() 取消由 setTimeout() 方法設(shè)置的 timeout。setInterval() 按照指定的周期(以毫秒計)來調(diào)用函數(shù)或計算表達式。clearInterval() 取消由 setInterval() 設(shè)置的 timeout。

      

    1.7.2 Navigator 對象

    Navigator 對象包含的屬性描述了正在使用的瀏覽器。可以使用這些屬性進行平臺專用的配置。

    常用屬性:

    with(document) {write ("你的瀏覽器信息:<ul>");write ("<li>代碼:"+navigator.appCodeName+"</li>");write ("<li>名稱:"+navigator.appName+"</li>");write ("<li>版本:"+navigator.appVersion+"</li>");write ("<li>語言:"+navigator.language+"</li>");write ("<li>編譯平臺:"+navigator.platform+"</li>");write ("<li>用戶表頭:"+navigator.userAgent+"</li>");write ("</ul>");}

    ?

    1.7.3 Screen 對象

    Screen 對象包含有關(guān)客戶端顯示屏幕的信息

    常用屬性:

    document.write( "屏幕寬度:"+screen.width+"px<br />" );document.write( "屏幕高度:"+screen.height+"px<br />" );document.write( "屏幕可用寬度:"+screen.availWidth+"px<br />" );document.write( "屏幕可用高度:"+screen.availHeight+"px" );

      

    參考了解其他屬性信息獲取方式

    網(wǎng)頁可見區(qū)域?qū)?#xff1a; document.body.clientWidth網(wǎng)頁可見區(qū)域高: document.body.clientHeight網(wǎng)頁可見區(qū)域?qū)?#xff1a; document.body.offsetWidth (包括邊線的寬)網(wǎng)頁可見區(qū)域高: document.body.offsetHeight (包括邊線的高)網(wǎng)頁正文全文寬: document.body.scrollWidth網(wǎng)頁正文全文高: document.body.scrollHeight網(wǎng)頁被卷去的高: document.body.scrollTop網(wǎng)頁被卷去的左: document.body.scrollLeft網(wǎng)頁正文部分上: window.screenTop網(wǎng)頁正文部分左: window.screenLeft屏幕分辨率的高: window.screen.height屏幕分辨率的寬: window.screen.width屏幕可用工作區(qū)高度: window.screen.availHeight屏幕可用工作區(qū)寬度: window.screen.availWidth

    1.7.4 History 對象

    History 對象包含用戶(在瀏覽器窗口中)訪問過的 URL。

    1.7.5 Location 對象

    Location 對象包含有關(guān)當前 URL 的信息。

    //獲取頁面中第二form表單中,一個username輸入框的值(7種方式)//alert(document.forms[1].username.value);alert(document.myform.username.value);//alert(document.forms.myform.username.value);//alert(document.forms.item(1).username.value);//alert(document.forms['myform'].username.value);//alert(document['myform'].username.value);//alert(document.forms.item('myform').username.value); //火狐不兼容

      

    1.8 DOM

    1.8.1 基本概念

    HTML DOM 定義了訪問和操作HTML文檔的標準方法。

    HTML DOM 把 HTML 文檔呈現(xiàn)為帶有元素、屬性和文本的樹結(jié)構(gòu)(節(jié)點樹)。

    DOM 被分為不同的部分:

    1.Core DOM

    定義了一套標準的針對任何結(jié)構(gòu)化文檔的對象

    2.XML DOM

    定義了一套標準的針對 XML 文檔的對象

    3.HTML DOM

    定義了一套標準的針對 HTML 文檔的對象。

    節(jié)點:根據(jù) DOM,HTML 文檔中的每個成分都是一個節(jié)點。

    DOM 是這樣規(guī)定的:

    整個文檔是一個文檔節(jié)點

    每個 HTML 標簽是一個元素節(jié)點

    包含在 HTML 元素中的文本是文本節(jié)點

    每一個 HTML 屬性是一個屬性節(jié)點

    注釋屬于注釋節(jié)點

    節(jié)點彼此間都存在關(guān)系。

    除文檔節(jié)點之外的每個節(jié)點都有父節(jié)點。

    大部分元素節(jié)點都有子節(jié)點。

    當節(jié)點分享同一個父節(jié)點時,它們就是同輩(同級節(jié)點)。

    節(jié)點也可以擁有后代,后代指某個節(jié)點的所有子節(jié)點,或者這些子節(jié)點的子節(jié)點

    節(jié)點也可以擁有先輩。先輩是某個節(jié)點的父節(jié)點,或者父節(jié)點的父節(jié)點

    查找并訪問節(jié)點

    你可通過若干種方法來查找您希望操作的元素:

    通過使用 getElementById() 和 getElementsByTagName() 方法

    通過使用一個元素節(jié)點的 parentNode、firstChild 以及 lastChild childNodes屬性

    節(jié)點信息

    每個節(jié)點都擁有包含著關(guān)于節(jié)點某些信息的屬性。這些屬性是:

    nodeName(節(jié)點名稱)nodeValue(節(jié)點值)nodeType(節(jié)點類型)nodeName 屬性含有某個節(jié)點的名稱。元素節(jié)點的 nodeName 是標簽名稱屬性節(jié)點的 nodeName 是屬性名稱文本節(jié)點的 nodeName 永遠是 #text文檔節(jié)點的 nodeName 永遠是 #document

      

    1.8.2 HTML DOM 對象參考

    Document: 代表整個 HTML 文檔,可被用來訪問頁面中的所有元素常用集合屬性:forms Anchor : 代表 <a> 元素Area : 代表圖像映射中的 <area> 元素Base : 代表 <base> 元素Body : 代表 <body> 元素Button : 代表 <button> 元素Event : 代表某個事件的狀態(tài)Form : 代表 <form> 元素Frame : 代表 <frame> 元素Frameset: 代表 <frameset> 元素Iframe : 代表 <iframe> 元素Image : 代表 <img> 元素Input button : 代表 HTML 表單中的一個按鈕Input checkbox: 代表 HTML 表單中的復選框Input file : 代表 HTML 表單中的文件上傳Input hidden : 代表 HTML 表單中的隱藏域Input password : 代表 HTML 表單中的密碼域Input radio : 代表 HTML 表單中的單選按鈕Input reset : 代表 HTML 表單中的重置按鈕Input submit : 代表 HTML 表單中的確認按鈕Input text : 代表 HTML 表單中的文本輸入域(文本框)Link : 代表 <link> 元素Meta : 代表 <meta> 元素Object : 代表 <Object> 元素Option : 代表 <option> 元素Select : 代表 HTML 表單中的選擇列表Style : 代表單獨的樣式聲明Table : 代表 <table> 元素TableData : 代表 <td> 元素TableRow : 代表 <tr> 元素Textarea : 代表 <textarea> 元素

      

    ?

    1.8.3 HTML的DOM

    Object : 代表 <Object> 元素Option : 代表 <option> 元素Select : 代表 HTML 表單中的選擇列表Style : 代表單獨的樣式聲明Table : 代表 <table> 元素TableData : 代表 <td> 元素TableRow : 代表 <tr> 元素Textarea : 代表 <textarea> 元素

      

    1.9 XML的DOM

    DOM (Document Object Model) 文檔對象模型

    1.9.1 document 文檔 HTML XML 文件 (標記語言)

    <body><div><!-- --><a href="#">wwww</a></div></body>

      

    節(jié)點:

    將文檔想成一個倒樹, 每一個部分(根、元素、文本(內(nèi)容), 屬性, 注釋)都是一節(jié)點。

    根據(jù) DOM,HTML 文檔中的每個成分都是一個節(jié)點。

    DOM 是這樣規(guī)定的:

    1\. 整個文檔是一個文檔節(jié)點(根節(jié)點)2\. 每個 HTML 標簽是一個元素節(jié)點3\. 包含在 HTML 元素中的文本是文本節(jié)點4\. 每一個 HTML 屬性是一個屬性節(jié)點5\. 注釋屬于注釋節(jié)點

    1.9.2 父、子和同級節(jié)點

    節(jié)點樹中的節(jié)點彼此之間都有等級關(guān)系。

    父、子和同級節(jié)點用于描述這種關(guān)系。父節(jié)點擁有子節(jié)點,位于相同層級上的子節(jié)點稱為同級節(jié)點(兄弟或姐妹)。

    1\. 在節(jié)點樹中,頂端的節(jié)點成為根節(jié)點2\. 根節(jié)點之外的每個節(jié)點都有一個父節(jié)點3\. 節(jié)點可以有任何數(shù)量的子節(jié)點4\. 葉子是沒有子節(jié)點的節(jié)點5\. 同級節(jié)點是擁有相同父節(jié)點的節(jié)點

    只要知道一個節(jié)點, 按關(guān)系找到其它節(jié)點

    父節(jié)點: parentNode

    子節(jié)點(第一個, 最后一個) childNodes firstChild lastChild

    同胞(同輩)節(jié)點 (上一個, 下一個)nextSibling previousSibling

    1.9.3 獲取節(jié)點的方式:

    array getElementsByTagName("節(jié)點名"); //獲取所對應節(jié)點名(所有),返回的是數(shù)組object getElementById("id名"); //獲取id名的唯一節(jié)點對象示例:(找節(jié)點)document.getElementsByTagName("li"); //所有所有l(wèi)i節(jié)點document.getElementById("lid"); //獲取id值為lid的唯一節(jié)點document.getElementById("uid").getElementsByTagName("li");//獲取id值為uid中所有l(wèi)i子節(jié)點document.getElementsByTagName("ul")[0].getElementsByTagName("li");//獲取第一個ul節(jié)點中所有l(wèi)i子節(jié)點

      

    獲取到的標記名(多個)、 id(唯一)、 name(多個)

    1.9.4 每個節(jié)點中的內(nèi)容

    節(jié)點類型nodeType、節(jié)點名nodeName,節(jié)點值nodeValue節(jié)點名nodeName:nodeName 是只讀的元素節(jié)點的 nodeName 與標簽名相同屬性節(jié)點的 nodeName 是屬性的名稱文本節(jié)點的 nodeName 永遠是 #text文檔節(jié)點的 nodeName 永遠是 #document節(jié)點值nodeValue元素節(jié)點的 nodeValue 是 undefined文本節(jié)點的 nodeValue 是文本自身屬性節(jié)點的 nodeValue 是屬性的值nodeType(節(jié)點類型)元素類型節(jié)點類型元素 1屬性 2文本 3注釋 8文檔 9

    1.9.5 Object 對象 (HTML元素 轉(zhuǎn)成的對象(js對象))

    注意: 如果使用js操作HTML文檔, 就需要選將HTML文檔結(jié)構(gòu)轉(zhuǎn)成Js對象

    a. 操作屬性:

    nodeName(節(jié)點名稱)nodeValue(節(jié)點值)nodeType(節(jié)點類型)其他屬性:(針對于節(jié)點)childNodes 返回節(jié)點到子節(jié)點的節(jié)點列表。firstChild 返回節(jié)點的首個子節(jié)點。lastChild 返回節(jié)點的最后一個子節(jié)點。nextSibling 返回節(jié)點之后緊跟的同級節(jié)點。previousSibling 屬性可返回某節(jié)點之前緊跟的節(jié)點(處于同一樹層級)parentNode 返回節(jié)點的父節(jié)點。textContent設(shè)置或返回節(jié)點及其后代的文本內(nèi)容。

      

    b. 操作內(nèi)容

    innerText(IE) textContent(FF) //獲取的是顯示的內(nèi)容,不包含HTML標簽innerHTML //獲取的是顯示的內(nèi)容,會包含HTMLouterTextouterHTML表單value

      

    c. 操作樣式

    aobj.style.backgroundColor="red";aobj.style.fontSize="3cm";classNameaobj.className="test";aobj.className+=" demo";aobj.className="";

      

    e. 操作節(jié)點:

    appendChild()向節(jié)點的子節(jié)點列表的結(jié)尾添加新的子節(jié)點。cloneNode()復制節(jié)點。removeChild()刪除(并返回)當前節(jié)點的指定子節(jié)點。replaceChild()用新節(jié)點替換一個子節(jié)點。hasAttributes() 判斷當前節(jié)點是否擁有屬性。hasChildNodes() 判斷當前節(jié)點是否擁有子節(jié)點。insertBefore() 在指定的子節(jié)點前插入新的子節(jié)點。

      

    f. 創(chuàng)建節(jié)點:

    * createElement() 創(chuàng)建元素節(jié)點createAttribute() 來創(chuàng)建屬性節(jié)點 可以:元素節(jié)點.屬性名=值;createTextNode() 來創(chuàng)建新的文本節(jié)點 可以:元素節(jié)點.innerHTML=文本內(nèi)容;

      

    有了以上三點的操作之前先轉(zhuǎn)成對象

    轉(zhuǎn)成對象的兩種形式:

    1. 標記名(多個)、 id(唯一)、 name(多個)

    document中的三個方法

    var objs=document.getElementsByTagName("div"); //獲取多個var objs=document.getElementById("one");//獲取一個var objs=document.getElementsByName("two");

      

    1.10 Ajax

    var xmlhttp;

    1.10.1 創(chuàng)建請求對象

    if(window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safarixmlhttp=new XMLHttpRequest();}else{// code for IE6, IE5xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}

      

    1.10.2 設(shè)置回調(diào)函數(shù)(監(jiān)聽)

    xmlhttp.onreadystatechange=函數(shù)名;或xmlhttp.onreadystatechange=function(){函數(shù)體。。。}

      

    1.10.3 初始化:

    xmlhttp.open("GET","gethint.php?q="+str,true); //異步以get方式發(fā)送到gethint.php

      

    1.10.4 發(fā)送:

    xmlhttp.send();

      

    其中:xmlhttp請求對象:

    **屬性:

    *readyState //請求狀態(tài):0,1,2,3,4*responseText//響應內(nèi)容responseXML //xml響應對象*status//瀏覽器響應狀態(tài):200正常, 404 請求地址不存在 ,,statusText //狀態(tài)內(nèi)容*onreadystatechange //回調(diào)函數(shù)屬性

      

    方法:

    abort() //取消當前響應,關(guān)閉連接并且結(jié)束任何未決的網(wǎng)絡(luò)活動。getAllResponseHeaders() //把 HTTP 響應頭部作為未解析的字符串返回。getResponseHeader() //返回指定的 HTTP 響應頭部的值*open()//初始化 HTTP 請求參數(shù)*send() //發(fā)送 HTTP 請求,使用傳遞給 open() 方法的參數(shù)*setRequestHeader() //向一個打開但未發(fā)送的請求設(shè)置或添加一個 HTTP 請求。

      

    模擬POST提交代碼:

    xmlhttp.open("POST","ajax_test.php",true);xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");xmlhttp.send("fname=Bill&lname=Gates");

      

    ?

  • 轉(zhuǎn)載于:https://www.cnblogs.com/WinkJie/p/11286346.html

    總結(jié)

    以上是生活随笔為你收集整理的JavaScript基础内容的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。