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+" ";
s+="Total Space:"+drv.TotalSize/1024;
s+="kb"+" ";
s+=drv.FreeSpace/1024;
s+="Kb"+" ";
alert(s);

四、操作文件夹
var fldr,s="";
var fso=new ActiveXObject("Scripting.FileSystemObject"); //实例化
fldr=fso.GetFolder("c:\");//获取Diver对象
alert("parent folder name is"+fldr+" ");//显示父目录名称
alert("Contained on drive"+fldr.Drive+" ");//显示所在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"+" ");
alert("Basename="+fso.GetBaseName("c:\bogus")+" ");//显示文件夹基础名,不包含路径名
fso.DeleteFolder("c:\bogus");
alert("Deletedd folder c:\bogus"+" ");//删除文件夹

五、操作文件

(一)创建文件
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: est.doc
for(i=WordApp.Documents.Count;i>0;i--){ //关闭所有打开的WORD文档
WordApp.Documents(i).Close(0);
}
WordApp.Application.quit(); //退出Word
</script>

原文地址:https://www.cnblogs.com/flytwosky/p/7192648.html