java知識總結-17
【js常用知識】
數據類型
字符串 null undefault 數字 布爾 數組 對象
數組操作
var b = a.shift(); 刪除原數組第一項,並返回刪除元素的值;如果數組為空則返回undefined
var b = a.unshift(-2,-1); unshift:將參數添加到原數組開頭,並返回數組的長度
var b = a.pop(); pop:刪除原數組最後一項,並返回刪除元素的值;如果數組為空則返回undefined
var b = a.push(6,7); push:將參數添加到原數組末尾,並返回數組的長度
var b = a.concat(6,7); concat:返回一個新數組,是將參數添加到原數組中構成的
var b = a.reverse(); 數組反序
var b = a.sort(); 按制定參數對數組排序
var b = a.join("|"); 將數組的元素組起一個字符串,以separator為分隔符,省略的話則用默認用逗號為分隔符
--- splice(start,deleteCount,val1,val2,...):從start位置開始刪除deleteCount項,並從該位置起插入val1,val2,...
定義
var 任何類型變量
function name ( a , b){ } 定義一個函數--a b 為形參名 返回值無需定義 直接return
function name (){ 屬性 } 定義一個對象 --對象可以先定義,再在對象外添加屬性
arguments[0] 代表是方法的第一個參數,在方法沒有形參是強制傳入參數是取參數的方法
如果js 添加節點事件,******.onclick=function(){ test(this)} --傳入參數
******.onclick=test --註意此時方法只是有名子
導入js代碼 (如導入my97控件 進度條控件 jQuery 等)
例:導入my97
<script language="javascript" type="text/javascript" src="My97DatePicker/WdatePicker.js"></script>
js對象的原型模式
Student.prototype.a="444" --為原型添加一個屬性a 值是 444
邏輯語句
for(var a = x in array){ }
for( var x=0,x<5,x++) { }
if(test){ } else { }
while(test) { }
switch( x ) { case 1: **break: case 2: **break: default:***}
輸出調試
使用 window.alert() 彈出警告框。
使用 document.write() 方法將內容寫到 HTML 文檔流中。??文檔加載完成之後使用 document.write()會覆蓋該文檔
使用 innerHTML 寫入到 HTML 元素。
使用 console.log() 寫入到瀏覽器的控制臺。
表單驗證*
var x=document.forms["myForm"]["fname"].value; //得到表單 [myForm] 的輸入框名字[fname] 值---用於 js 驗證
正則驗證:
var pattern = new RegExp("s$");
實例化一個為 s$ 的正則驗證
--------
屬性 lastIndex (從後開始往前找) true/false
source 屬性
方法 compile 方法 | exec 方法 | test 方法
---------------
exec 用正則表達式模式在字符串中運行查找,並返回包含該查找結果的一個數組
rgExp.exec(str)
******************************
test 返回一個 Boolean 值,它指出在被查找的字符串中是否存在模式。
rgexp.test(str)
*******************************
stringObj.match(rgExp)/////////
match 使用正則表達式模式對字符串執行查找,並將包含查找的結果作為數組返回。
match 方法返回的數組有三個屬性:input、index 和 lastIndex。Input 屬性包含整個的被查找字符串。Index 屬性包含了在整個被查找字符串中匹配的子字符串的位置。LastIndex 屬性包含了最後一次匹配中最後一個字符的下一個位置。
操作網頁元素 dom
得到:
var x=document.getElementById("intro"); // 通過 ID 獲得元素
var y=x.getElementsByTagName("p"); //通過 tag 獲得元素,為一個數組,包含所有該類型元素 如例:所有段落的元素
var x=document.getElementsByClassName("intro"); //通過 name 獲得元素數組
function getElementsByClassName(n) //通過class得到元素
改變內容,屬性,樣式:
document.getElementById(id).innerHTML=new HTML //改變元素的內容
document.getElementById(id).attribute=new value //改變元素的屬性
document.getElementById(id).style.property=new style //改變元素的css(樣式)
********************
dom (document object model)操作
=-09876549:37 2017/6/103-+tml dom中所有事物都是節點、1-找節點*
getelementByid() 通過ID 獲取元素的節點
getelementsbytagname() 通過標簽獲取所有的節點
childNode.parentNode 獲取已知節點的父節點
操作 html 節點
節點.innerHtml --把HTML 的標簽添加到標簽內容裏
增加一個節點(例子)--先找到父節點
*******先在內存中創建一個標簽,再加入到document 中
var para=document.createElement("p"); //創建一個 p 標簽
var att=document.createAttribute("*"); //創建一個屬性節點
也可以直接 setAttribute()
var node=document.createTextNode("This is a new paragraph."); //創建一個文本節點
-----
para.appendChild(node); //把文本加入到 p 元素節點中
para.appendChild(att); //把屬性加入到 p 元素節點中
-----
var element=document.getElementById("div1"); //找到一個元素
element.appendChild(para); //把創建的元素添加到該節點
刪除一個節點
var parent=document.getElementById("div1"); //得到一個父節點
var child=document.getElementById("p1"); //得到父節點下的子節點
parent.removeChild(child); //從父節點中刪除子節點
*********
child.parentNode.removeChild(child); //調用子元素的方法 parentNode 得到父元素,然後刪除
復制一個節點
cloneNode(boolean) 是否復制子節點
事件:
onload 和 onunload 事件會在用戶進入或離開頁面時被觸發 onchange(內容改變事件) onmouseover 和 onmouseout 事(鼠標懸浮 離開事件) onmousedown、onmouseup 以及 onclick 事件(鼠標按下 擡起 單擊)
得到瀏覽器模型 bom 參數(所有的 window 可以省略 )
window.screen 對象包含有關用戶屏幕的信息
window.history 對象包含瀏覽器的歷史。
window.location 對象用於獲得當前頁面的地址 (URL),並把瀏覽器重定向到新的頁面。
window.navigator 對象包含有關訪問者瀏覽器的信息。
**********************
彈窗 :
window.alert("A"); //A 文本 --普通彈出框
window.confirm("A"); //A文本 --待確認的彈出框 ---可以接受到 booleaan 類型的返回值
window.prompt("A","B"); /A 提示文本 B 輸入框默認文字 ---可以接受輸入的彈出框
定時器:
window.setInterval(A,B) //A 執行的方法 B 間隔的毫秒數 ---間隔一定時間,自動執行代碼
window.clea/rInterval(A) //A 創建定時器時的全局變量 --關閉循環執行的方法
window.setTimeout(A,B) //A 執行的方法 B 間隔的毫秒數 ---暫停指定的毫秒數後執行指定的代碼
window.clearTimeout(A) //A 創建定時器時的全局變量 --關閉定時執行的方法
js的常用內置對象
Number
String
Date
Array
Boolean
Math
Window(默認)--window
document 文擋對象
字符串對象:
var str=new String();
str.indexOf();//用於返回指定內容在原字符串中的位置,如果沒有,則返回-1。
str.trim();//去除字符串前後的空白。
str.concat();//用於拼接字符串,它跟加號的效果是一樣的,平時我們用的更多的也是用加號連接字符串。
str.substring(start,end);//從start位置開始,截取到end為止,end取不到。
str.substr(start,length);//從start位置開始,截取length長度個字符串,如果沒有寫length的值則默認截取到最後。
str.replace();//替換字符串的某個元素,並返回替換後的字符串。
str.split();//把字符串分割成數組的形式返回。
字符串也有length屬性,用來返回字符串的長度
array對象
arr.concat(ArrayX...)//用於連接兩個或多個數組,其中ArraX可以是數組,也可以是具體的值,每一項用逗號隔開。
arr.join();//用於返回一個包含數組中所有元素的一個字符串,默認用逗號作為分隔符,不過括號內可以定義分隔符的樣式,比如說豎線就是arr.join(“|”);分隔符用分號包裹。
arr.push();//像數組末尾添加一個或多個元素,並返回新數組的長度。添加的元素填在括號中,並用逗號隔開。註意:這個方法的返回值是新數組的長度。
arr.reverse();//顛倒數組中元素的順序。直接調用這個方法只後函數就已經顛倒順序了,直接console.log(arr)就可以直接輸出排序好的數組了。
arr.sort();//用於對數組進行排序。如果調用該方法時沒有參數,將按字母順序對數組中的元素進行排序,說的更精確點,就是按照字符編碼的順序進行排序。如果想要按照其他標準進行排序就需要提供比較函數,來定義排序的順序。
arr.toString();//把數組轉化為字符串,並返回結果,返回的字符串默認用逗號隔開。
date 對象(日期對象)
date.getFullYear();//從Date對象(也就是這裏的date)中返回年份。
date.getMonth();//從Date對象中返回月份。註意:這裏的月份是返回0到11的數字,0對應一月,1對應二月,所以在使用的時候記得要加一。
date.getDate();//從Date對象返回一個月中的某一天。
date.getDay();//從Date對象返回一個星期中的某一天。註意,這裏返回的也是從0開始的數字,0對應的是星期天,1對應的是星期一,6對應的是星期六。
date.getHours();//返回Date對象的小時(0~23)。
date.getMinutes();//返回Date對象的分鐘(0~59)。
date.getSeconds();//返回Date對象的秒數(0~59)。
date.getTime();//返回1970 年 1 月 1 日到Date對象所設時間的毫秒數。
date.getLocatio?????? 返回本地格式的時間格式
arr.valueOf();//返回數組對象的原始值,也就是返回整個數組。
math 對象
Math.abs(x);//用來返回數的絕對值
Math.ceil(x);//向上取整,比如1.1,1.9這兩個數返回的都是2,如果是傳入的數字是負數的話,比如-1.1,-1.9,返回的值是-1,一開始很容易搞混,為什麽不是-2呢,這時候只要畫個數軸,就可以很清晰的看到,正數向上取整是網那個方向的,那麽負數也是相同的。
Math.floor(x);//向下取整,跟Math.ceil()方法剛好相反。
Math.max(x,y,...);//返回括號內所有數字中的最大值,註意,括號裏的數字可以是任意多個。
Math.min(x,y,...);//返回括號內所有數字中的最小值。跟Math.min()一樣,括號裏的數字也可以是任意多個。
Math.pow(x,y);//返回計算x的y次冪。也就是y個x相乘的值。
Math.round(x);//返回x四舍五入後的結果。
Math.random(x);//返回一個0到1之間的隨機數,註意,這裏的0是可以取到的,但1是取不到的。
操作流
一、功能實現核心:FileSystemObject對象其實,要在js中實現文件操作功能,主要就是靠FileSystemObject對象.
二、FileSystemObject編程三部曲
使用FileSystemObject進行編輯要經過如下步驟:創建FileSystemObject對象、應用相關方法、訪問相關屬性,
(一)創建FileSystemObject對象,創建FileSystemObject對象的代碼只要1行:
var fso=new ActiveXObject("Scripting.FileSystemObject"); //實例化
上述代碼執行後,fso就成了一個FileSystemObject對象實例。
(二)應用相關方法,如創建一個文本文件:
var fso=new ActiveXObject("Scripting.FileSystemObject"); //實例化
var f1=fso.createtextfile("e:\\b.txt",true); //創建記事本
(三)訪問相關屬性,要訪問相關屬性,首先要建立指向對象的句柄,這就要通過get系列方法實現:GetDrive負責獲取驅動器信息,GetFile負責獲取文件信息. 比如,指向下面的代碼後,f2就成了指向文件e:\\a.txt的句柄,並獲取屬性.
var fso=new ActiveXObject("Scripting.FileSystemObject"); //實例化
var f1=fso.createtextfile("e:\\b.txt",true); //創建記事本
var f2=fso.GetFile("e:\\a.txt");
alert("File last modified:"+f2.DateLastModified); //顯示最後修改時間
但有一點請註意,對於使用create方法建立的對象,就不必再使用get方法獲取對象句柄了,這時直接使用create創建的句柄名稱就可以
var fso=new ActiveXObject("Scripting.FileSystemObject"); //實例化
var f1=fso.createtextfile("e:\\b.txt",true); //創建記事本
alert("File last modified:"+f1.DateLastModified); //顯示最後修改時間
三、操作驅動器(Drives)
使用FileSystemObject對象來編程操作驅動器(Drives)和文件夾(Folders)很容易
(一)Drives對象屬性Drive對象負責收集系統中的物理或邏輯驅動器資源內容,它具有如下屬性:
TotalSize:以字節(byte)為單位計算的驅動器大小。
FreeSpace:以字節(byte)為單位計算的驅動器可用空間。
DriveLetter:驅動器字母
Drive Type:驅動器類型, 取值為removable(移動介質)、fixed(固定介質)、netword(網絡資源)、CD-ROM或者RAM盤
SerialNumber:驅動器的系列碼
例子:
var fso=new ActiveXObject("Scripting.FileSystemObject"); //實例化
var drv=fso.GetDrive(fso.GetDriveName("c:\\")); //讀驅動器
var s="";
s+="Driver C:"+"-";
s+=drv.VolumeName+"\n";
s+="Total Space:"+drv.TotalSize/1024;
s+="kb"+"\n";
s+=drv.FreeSpace/1024;
s+="Kb"+"\n";
alert(s);
四、操作文件夾
var fldr,s="";
var fso=new ActiveXObject("Scripting.FileSystemObject"); //實例化
fldr=fso.GetFolder("c:\\");//獲取Diver對象
alert("parent folder name is"+fldr+"\n");//顯示父目錄名稱
alert("Contained on drive"+fldr.Drive+"\n");//顯示所在drive名稱
if(fldr.IsRootFolder)//判斷是否為根目錄
alert("this is the root folder.");
else
alert("this folder isn‘t a root folder.");
fso.CreateFolder("c:\\bogus");//創
建新文件
alert("create folder C:\\bogus"+"\n");
alert("Basename="+fso.GetBaseName("c:\\bogus")+"\n");//顯示文件夾基礎名,不包含路徑名
fso.DeleteFolder("c:\\bogus");
alert("Deletedd folder c:\\bogus"+"\n");//刪除文件夾
五、操作文件
(一)創建文件
var fso=new ActiveXObject("Scripting.FileSystemObject"); //實例化
var f1=fso.createtextfile("e:\\b.txt",true); //創建記事本
var ForWriting=2;
var ts=fso.OpenTextFile("e:\\c.txt",ForWriting,true);//創建文本文件的另一種方法
(二)讀寫數據
var fso=new ActiveXObject("Scripting.FileSystemObject"); //實例化
var f1=fso.createtextfile("e:\\b.txt",true); //創建記事本
f1.WriteLine("Testing 1,2,3"); //填寫一行值,帶換行符
f1.WriteBlankLines(3);//填寫3個空行
f1.Write("this is a test");//填寫一行
f1.Close();//關閉流
var ForReading=1;
f1=fso.OpenTextFile("e:\\b.txt",ForReading);//打開文件
s=f1.ReadLine();//讀一行到字符串s
alert(s);
六、移動,拷貝和刪除文件
var fso=new ActiveXObject("Scripting.FileSystemObject"); //實例化
f1=fso.GetFile("f:\\b.txt");//讀源目錄
f1.Copy("d:\\b.txt");//拷貝到目錄下
f1.Move("e:\\b.txt");//移動到的目錄, 移動文件
f1.Delete();//刪除文件
s操作文件.txt .doc .xls
<script type="text/javascript" >
var fso = new ActiveXObject("Scripting.FileSystemObject")
fso.CreateFolder ("C:\\Bonus");//在C盤創建一個文件夾
fso.DeleteFolder ("C:\\Bonus");// 刪除創建的文件夾
fso.CopyFile("c:\\temp\\11.bmp","c:\\Bonus\\22.bmp");//復制文件
// 創建新文件
var tf = fso.CreateTextFile("c:\\testfile.txt", true);
tf.WriteLine("Testing 1, 2, 3.") ; // 填寫數據,並增加換行符
tf.WriteBlankLines(3) ; // 增加個空行
tf.Write ("This is a test."); // 填寫一行,不帶換行符
tf.Close(); // 關閉文件
// 打開文件
var ForReading=1;
var ts = fso.OpenTextFile("c:\\testfile.txt", ForReading);
s = ts.ReadLine(); // 讀取文件一行內容到字符串
alert("File contents = ‘" + s + "‘"); // 顯示字符串信息
ts.Close(); // 關閉文件
</script>
<script language="javascript">
var ExcelApp = new ActiveXObject("Excel.Application"); //啟動創建對象的應用程序EXCEL
var ExcelSheet = new ActiveXObject("Excel.Sheet"); //創建EXCEL工作表
ExcelSheet.Application.Visible = true; // 使Excel窗口可見
// 將一些文本放置到表格的第一格中。
ExcelSheet.ActiveSheet.Cells(1,1).Value = "This is column A, row 1";
// 保存EXCEL到C:\TEST.XLS。
ExcelSheet.SaveAs("C:\\TEST1.XLS");
//用Quit 方法關閉Excel。
ExcelApp.Quit();
//可以找到C:\TEST1.XLS文件,檢查其正確性
</script>
<script language="javascript">
//啟動EXCEL
var ExcelApp = new ActiveXObject("Excel.Application");
ExcelApp.Visible = true; //使EXCEL窗口可見
ExcelApp.WorkBooks.Open("c:\\TEST.xls");
var objExcelBook=ExcelApp.ActiveWorkBook;
var objExcelSheets=objExcelBook.Worksheets;
var objExcelSheet=objExcelBook.Sheets(1); //指定當前工作區為Sheet2
//此處為對excel單元格進行填寫數據的語句
objExcelSheet.Range("B2:k2").Value=Array("Week1","Week2","Week3","Week4","Week5","Week6","Week7");
objExcelSheet.Range("B3:k3").Value=Array("67","87","5","9","7","45","45","54","54","10");
objExcelSheet.Range("B4:k4").Value=Array("10","10","8","27","33","37","50","54","10","10");
objExcelSheet.Range("B5:k5").Value=Array("23","3","86","64","60","18","5","1","36","80");
objExcelSheet.Cells(3,1).Value="InternetExplorer";
objExcelSheet.Cells(4,1).Value="Netscape";
objExcelSheet.Cells(5,1).Value="Other";
objExcelSheet.SaveAs("C:\\TEST2.XLS"); //保存到C:\TEST2.XLS
ExcelApp.Quit(); //退出EXCEL
</script>
<script language="javascript">
WordApp = new ActiveXObject("Word.Application"); //啟動Word
WordApp.Application.Visible = true; //使Word窗口可見
var mydoc=WordApp.Documents.Add("",0,1); //新建一個文檔
WordApp.ActiveWindow.ActivePane.View.Type=3; //Word視圖模式為頁面
WordApp.Selection.TypeText("測試案例"); //輸入字符串
WordApp.Selection.HomeKey (5,1); //光標移到行首
WordApp.Selection.Font.Bold = 9999998 ; //wdToggle
WordApp.Selection.WholeStory(); //選中整個文檔內容
mydoc.SaveAs("c:\\test.doc"); //存盤到c:\test.doc
for(i=WordApp.Documents.Count;i>0;i--){ //關閉所有打開的WORD文檔
WordApp.Documents(i).Close(0);
}
WordApp.Application.quit(); //退出Word
</script>
java知識總結-17