在js中,雙引號(hào)字符串中的雙引號(hào)內(nèi)容和單引號(hào)字符串中的單引號(hào)內(nèi)容都必須進(jìn)行轉(zhuǎn)移,形式如下:
var str1 = "my mother say:/"don't speak with stranger/". ";
var str2 = 'my mother say:"don/'t speak with stranger". ';
js中的常用轉(zhuǎn)義字符有:
“ ? /”‘ ? /’回車符 ? /r換行符 ? /ntab符 ? /t/ ? //注意: 回車符,換行符,空格和tab符其實(shí)也是跟a,b,c,d,和’, “, $ & 等等符號(hào)“平等并列”的符號(hào)。時(shí)間日期(Date)對(duì)象:
用于表示時(shí)間日期數(shù)據(jù)的對(duì)象。一個(gè)時(shí)間日期對(duì)象中包括了有關(guān)時(shí)間日期的各項(xiàng)具體信息,比如年,月,日,時(shí)分秒,毫秒,星期。
定義一個(gè)時(shí)間日期對(duì)象有以下幾種形式:
d1 = new Date(); //定義一個(gè)表示“當(dāng)前時(shí)間”的日期對(duì)象, d2 = new Date(“2013/9/25 11:18:19”); 用一個(gè)字符串來(lái)定義一個(gè)指定時(shí)間(時(shí)刻)的日期對(duì)象 d3 = new Date(2013, 9, 25, 11, 18, 19); 用多個(gè)(至少3個(gè))數(shù)字來(lái)定義一個(gè)指定時(shí)間的日期對(duì)象 d4 = new Date(2324624252312); 用一個(gè)數(shù)字來(lái)定義個(gè)指定時(shí)間的日期對(duì)象。
此數(shù)字代表的是從1970年1月1日午夜0點(diǎn)0分0秒(甚至0毫米)開(kāi)始算起所經(jīng)歷過(guò)的毫秒數(shù)。注意,一秒等于1000毫秒。——實(shí)際上,我們可以理解為:“時(shí)間”這種數(shù)據(jù),在js中,其實(shí)其本質(zhì)上只是存儲(chǔ)了一個(gè)數(shù)字。如果該數(shù)值為負(fù)值,則表示往前推算。實(shí)際上,據(jù)此,時(shí)間是可以進(jìn)行加減計(jì)算的。
這個(gè)時(shí)間點(diǎn)通常認(rèn)為是計(jì)算機(jī)世界的“時(shí)間起點(diǎn)/原點(diǎn)”。
時(shí)間對(duì)象的常用方法:
v1 = d1.toLocaleString();獲得時(shí)間為“本地表示法” v1 = d1.getTime(); 獲得一個(gè)時(shí)間的“毫米數(shù)”——從時(shí)間原點(diǎn)開(kāi)始算起。以下是獲取時(shí)間中的某項(xiàng)數(shù)據(jù)值: v1 = d1.getFullYear(); //獲得年數(shù)——是一個(gè)數(shù)字,下同 v1 = d1.getMonth(); //獲得月數(shù) ——注意:此數(shù)字是從0開(kāi)始算起的,即只能是:0-11 v1 = d1.getDate(); //獲得日期數(shù) v1 = d1.getDay(); //獲得星期數(shù) v1 = d1.getHours(); //獲得小時(shí)數(shù) v1 = d1.getMinutes(); //獲得分鐘數(shù) v1 = d1.getSeconds(); //獲得秒數(shù) v1 = d1.getMilliseconds();//獲得毫秒數(shù)
以下是設(shè)置時(shí)間中的某項(xiàng)數(shù)據(jù)值:
d1.setFullYear( n ); //將d1這個(gè)時(shí)間對(duì)象的年份數(shù)設(shè)置為n這個(gè)數(shù)——即修改了其年份,下同。 d1.setMonth( n ); //設(shè)置月份數(shù)d1. setDate(n ); //設(shè)置日期數(shù) d1. setDay(n ); //設(shè)置星期數(shù) d1. setHours(n ); //設(shè)置小時(shí)數(shù) d1. setMinutes(n ); //設(shè)置分鐘數(shù) d1. setSeconds(n ); //設(shè)置秒數(shù) d1. setMilliseconds(n );//設(shè)置毫秒數(shù)網(wǎng)頁(yè)對(duì)象介紹
第一個(gè)重要觀念:在html文件中的每個(gè)標(biāo)簽都是一個(gè)對(duì)象。
var obj1 = { name:”小花”, age:18, zuofan: functoin (){……}, xiyi: function(){……}} var v1 = obj1.age; alert( v1 ); obj1.age = 19; //過(guò)年了,增加了一歲——修改了obj1這個(gè)對(duì)象的age這個(gè)屬性的值。 obj1.name = “大花”;
獲取網(wǎng)頁(yè)標(biāo)簽對(duì)象的方式:
var obj1 = document.getElementById(“id名”);
操作對(duì)象的標(biāo)簽屬性:
獲取: var v1 = obj1.標(biāo)簽屬性名;
賦值: obj1.標(biāo)簽屬性名 = 某值;
操作對(duì)象的樣式屬性:
獲取:var v1 = obj1.style.樣式屬性名;——其實(shí)這種方式只能獲取其“行內(nèi)樣式”
賦值:obj1.style.樣式屬性名 = 某值;
獲取網(wǎng)頁(yè)標(biāo)簽對(duì)象的方式:
var obj1 = document.getElementById(“id名”);
操作對(duì)象的標(biāo)簽屬性:
獲取: var v1 = obj1.標(biāo)簽屬性名;
賦值: obj1.標(biāo)簽屬性名 = 某值;
操作對(duì)象的樣式屬性:
獲取:var v1 = obj1.style.樣式屬性名;——其實(shí)這種方式只能獲取其“行內(nèi)樣式”
賦值:obj1.style.樣式屬性名 = 某值;
事件初步簡(jiǎn)單說(shuō)來(lái),事件就是“動(dòng)作”,也就是用戶所在的某種操作,比如:點(diǎn)擊,鼠標(biāo)移動(dòng),雙擊,。。。。。。
先回顧與加強(qiáng)js的“定義”:js是一門基于對(duì)象的事件驅(qū)動(dòng)的腳本語(yǔ)言。
事件有哪些:
鼠標(biāo)事件: onclick: onmouSEOver: onmouseout: ondblclick: 雙擊事件 onmousedown: 鼠標(biāo)按下去的時(shí)候發(fā)生(注意此時(shí)鼠標(biāo)還沒(méi)有抬起來(lái)) onmouseup: 鼠標(biāo)抬起來(lái)的時(shí)候發(fā)生 onmousemove: 鼠標(biāo)移動(dòng)的時(shí)候發(fā)生——移動(dòng)無(wú)處不在。
鍵盤事件: onkeyPRess: 按鍵點(diǎn)擊一次發(fā)生。 onkeydown: 按鍵按下去的時(shí)候發(fā)生 onkeyup: 按鍵抬起來(lái)的時(shí)候發(fā)生
表單事件: onsubmit : 當(dāng)一個(gè)表單正要“提交”的時(shí)候發(fā)生 onfocus: 當(dāng)一個(gè)表單項(xiàng)“獲得焦點(diǎn)”的時(shí)候發(fā)生。 onblur: 當(dāng)一個(gè)表單項(xiàng)“失去焦點(diǎn)”的時(shí)候發(fā)生 onchange: 當(dāng)一個(gè)表單項(xiàng)的數(shù)據(jù)發(fā)生改變的時(shí)候——通常只用于select標(biāo)簽的選項(xiàng)改變。
其他: onload: 當(dāng)網(wǎng)頁(yè)“一加載成功”的時(shí)候發(fā)生,也就是網(wǎng)頁(yè)打開(kāi)的時(shí)刻——onload在一個(gè)頁(yè)面上只能出現(xiàn)一次。 onload只能寫在body標(biāo)簽上,或者要么就不在標(biāo)簽中寫,而是在腳本中使用window.onload的實(shí)線。
小結(jié):事件隨時(shí)發(fā)生,無(wú)處不在,只在于我們想要在哪個(gè)對(duì)象上使用哪個(gè)事件來(lái)完成什么工作。
其基本的代碼模式為:
<標(biāo)簽名 …… on事件名=”函數(shù)名f1();” >……</標(biāo)簽名> <script> function f1(){ //這里就是我們要做的工作!!!!!} </script>
則其基本含義是: 某個(gè)對(duì)象發(fā)生什么事件的時(shí)候會(huì)去調(diào)用某個(gè)函數(shù)以完成某種任務(wù)。
event對(duì)象event是一個(gè)瀏覽器內(nèi)部的對(duì)象(注意,不是網(wǎng)頁(yè)標(biāo)簽對(duì)象),它代表事件發(fā)生的時(shí)候跟事件有關(guān)的相關(guān)信息的集合體(對(duì)象就是信息的集合體)——它只在事件發(fā)生的時(shí)候存在!
event通常就只用于獲取在事件發(fā)生的時(shí)候的有關(guān)信息,比如:鼠標(biāo)該時(shí)刻的坐標(biāo)位置(x和y),是哪個(gè)網(wǎng)頁(yè)對(duì)象發(fā)生了該事件,發(fā)生事件的時(shí)候是哪個(gè)鼠標(biāo)按鍵觸發(fā)的,或哪個(gè)鍵盤上的鍵。以上信息由以下幾個(gè)event屬性來(lái)獲取:
event.clientX ——獲取事件發(fā)生的時(shí)候鼠標(biāo)的x坐標(biāo)位置
event.clientY ——獲取事件發(fā)生的時(shí)候鼠標(biāo)的y坐標(biāo)位置
event.target ——獲取事件發(fā)生的時(shí)候的那個(gè)標(biāo)簽對(duì)象(適用于FF)——類似getElementById獲取的對(duì)象
event.srcElement ——獲取事件發(fā)生的時(shí)候的那個(gè)標(biāo)簽對(duì)象(適用于IE)——類似getElementById獲取的對(duì)象
——事件發(fā)生的時(shí)候的那個(gè)標(biāo)簽對(duì)象通常被稱為“事件源”。
event.keyCode ——鍵盤事件發(fā)生的時(shí)候的按鍵的鍵值——鍵盤上每個(gè)鍵都對(duì)應(yīng)一個(gè)數(shù)字值。
this和event的使用對(duì)比: <標(biāo)簽名1 on事件名=”函數(shù)名f1(this)” >。。。。。</標(biāo)簽名1> <標(biāo)簽名2 on事件名=”函數(shù)名f2(event)” >。。。。。</標(biāo)簽名2> <script> function f1 ( obj ) { //在此范圍內(nèi),obj代表的就是“標(biāo)簽名1”這個(gè)對(duì)象,類似使用getElementById獲得的對(duì)象}function f2 ( evt ) { //在此范圍內(nèi),evt代表的是事件發(fā)生的時(shí)候的event對(duì)象。 //這里使用evt,基本上也就是使用其以下屬性(根據(jù)需要取用): var v1 = evt.clientX; //獲得鼠標(biāo)當(dāng)時(shí)的x坐標(biāo) var v2 = evt.clientY; //獲得鼠標(biāo)當(dāng)時(shí)的y坐標(biāo) var v3 = evt.keyCode; //獲得鍵盤的按鍵值(只對(duì)鍵盤事件有效) var v4 = evt.target; //獲得事件源對(duì)象,IE是:evt.srcElement;} </script>
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注