@w460461339
2016-11-15T23:26:25.000000Z
字数 9032
阅读 1087
JAVA_Web
好吧,昨天算是大致把JavaScript入了下门,今天开始将JavaScript的具体语法的了。
嘛,就是讲了其中很多的方法,一次写齐了吧。
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body></body></html><script type="text/javascript">var str="Hello JavaScript";//加粗document.write(str.bold());document.write("<hr/>")//设置字体颜色document.write(str.fontcolor("blue"));document.write("<hr/>")//设置字体大小,1~7 7最大document.write(str.fontsize(7));document.write("<hr/>")//将字符串设置为超链接(功能需要自定义)//括号内写需要转到的地址document.write(str.link("04-js的语句一.html"));document.write("<hr/>")//sub下标,sup上标document.write("100".sub()+"2"+"200".sup());document.write("<hr/>")//链接两个字符串document.write(str.concat(",Nice to see you"));document.write("<hr/>")//返回指定位置的字符,不存在时就什么也不显示document.write(str.charAt(7)+str.charAt(100));document.write("<hr/>")//返回指定字符所在位置,不存在该字符就返回-1document.write(str.indexOf("J"))document.write(" "+str.indexOf("Z"));document.write("<hr/>")//根据括号内字符分割字符串,返回数组//这里不能用转义来表示空格,直接打空格就好var array1= str.split(" ");document.write(array1[0]);document.write("-----"+array1[1]);document.write("<hr/>")//将字符串内指定内容(第一个参数)替换为另外的内容(第二参数)//字符串不存在就不做任何修改document.write(str.replace("JavaScript","World"));document.write("<hr/>")//substr表示从第一个参数起(包括),获取第二个参数个的字符//从第三位开始,数5个字符document.write(str.substr(3,5));document.write("<hr/>")//substring表示从获取从第一个参数(包括)到第二个参数(包括)的内容//从第三位到第五位,不包括第五位document.write(str.substring(3,5));document.write("<hr/>")</script>
和String一样,直接一次写完
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body></body></html><script type="text/javascript">//多次创建同名参数,以最后一次创建为准//创建数组的三种方法var array0=["hello","world","js"];var array=new Array(3);//这是是创建一个长度为3的空数组var array=new Array("Hello","World","JavaScript");//打印数组的长度,length是数组的属性//返回数组长度document.write(array.length);document.write("<hr/>");//concat,链接数组或者单个元素//返回新数组document.write(array.concat(array0));document.write("<hr/>");//改变打印出来时分割数组元素的符号//默认使用逗号,自己可以随意设置,此处用 -//返回新数组document.write(array);document.write("<br/>");document.write(array.join("-"));document.write("<hr/>")//往数组最后添加元素,当被添加元素是单个元素时,直接添加//但当被添加元素是数组时,整个数组被看做是一个元素添加//返回新的数组长度document.write("length:"+array.push("yoyo")+"<br/>");document.write("elements:"+array+"<br/>");document.write("length:"+array.push(array0)+"<br/>");document.write("elements:"+array.join("--"));document.write("<hr/>");//返回数组的最后一个元素,并删除document.write(array.pop());document.write("<hr/>");//将数组内元素反转document.write(array.reverse());document.write("<hr/>");</script>
呃,这里的Date对象比Java里面简单很多~
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body></body></html><script type="text/javascript">//获取日期对象,直接显示为英式表达方式var date=new Date();document.write(date+"<hr/>");//利用toLocaleString方法转化为中式表达,注意local和String中间的edocument.write(date.toLocaleString()+"<hr/>");//获取当年的年份,四位数字表达document.write(date.getFullYear()+"<hr/>");//获取月份,0~11,因此需要加一显示document.write((date.getMonth()+1)+"<hr/>");//获取目前星期,0~6表示周日到周六,周日为0,其他对应1~6document.write(date.getDay()+"<hr/>");//获取目前日,1~31document.write(date.getDate()+"<hr/>");//获取当前小时,0~23document.write(date.getHours()+"<hr/>");//获取当前分钟,0~59document.write(date.getMinutes()+"<hr/>");//获取当前秒,0~59document.write(date.getSeconds()+"<hr/>");//获取从1970年1月1日0点0分0秒到目前的毫秒数document.write(date.getTime()+"<hr/>");</script>
就一些数学函数,很快的
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body></body></html><script type="text/javascript">//注意这里不是用对象来调用方法//Math里都是静态方法,要通过Math来调用var a=10.2;//向上取整document.write(Math.ceil(a)+"<hr/>");//向下取整document.write(Math.floor(a)+"<hr/>");//四舍五入document.write(Math.round(a)+"<hr/>");//获取[0,1)内的伪随机数document.write(Math.random()+"<hr/>");</script>
不属于任何一个对象,直接写函数名调用
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body></body></html><script type="text/javascript">//若字符串内写的是js代码,eval可以识别并执行var str="alert(1234)";eval(str);//解码和转码,主要为了处理中文乱码var code=encodeURI("你好呀");document.write(code+"<hr/>");document.write(decodeURI(code)+"<hr/>");//encodeURIComponent() 和 decodeURIComponent()除了范围不同,其他用法同上//判断一个变量是不是数字,数字-false 非数字-true// isNan,表示,是不是非数字var a=5;var b="ee";document.write(isNaN(a)+" "+isNaN(b)+"<hr/>");//将字符串的数字转化为数字类型//被转化字符串中不是数字,就显示NaNvar i="4";document.write(parseInt(i)+5);</script>
注意,JS中没有重载 没有重载 没有重载,只是可以模拟重载的样子。
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body></body></html><script type="text/javascript">function add(a,b){document.write(a+b+"<hr/>");}function add(a,b,c){document.write(a+b+c+"<hr/>");}//这样只会默认调用最近的函数,也就是三个参数的add(11,22);add(1,2,3);//arguments中包含所有传入的参数,不管函数原型中有几个需要传入的参数//利用arguments数组来模拟重载function add2(){var j=arguments.length;var sum=0;for(var i=0;i<j;i++){sum=sum+arguments[i];}document.write(sum+"<hr/>");}add2(11,22);add2(1,2,3)</script>
BOM的全名是Broswer Object Model,浏览器对象模型。主要用来获取不同浏览器的的一些属性。
该模型中我们主要学的有这么几个对象:
navigator;
screen;
location;
history;
windows;
同样,一次全上了。
另外,这里只举这些对象常用的属性,需要用到其他的属性获取方法,自己去找帮助文档。
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body><!--onclick 点击事件,当鼠标点击按钮时触发--><input type="button" value="location Test" onclick="click1();"/><hr/></body></html><script type="text/javascript">//几次不成功,有两个原因://函数名click为关键字,不能使用//input里面 onclick=“click1();”,其中的分号忘了//跳转到指定页面function click1(){// location 是bom里面的对象location.href="day03_07_BOM2.html";}//appName,显示目前浏览器名称document.write(navigator.appName+"<hr/>");//显示屏幕的高宽等属性document.write(screen.width+" "+screen.height+"<hr/>");//显示当前网页地址document.write(location.href+"<hr/>");</script>
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body><input type="button" value="back" onclick="back1();"/><br/><input type="button" value="forward" onclick="forward1();"/><hr/><input type="button" value="Skip" onclick="location.href='day03_05GloabFunction.html';"/></body></html><script type="text/javascript">//history用法//两者效果一样,可以回到前一页面或者后一页面function back1(){//history.back();history.go(-1);}function forward1(){//history.forward();history.go(1);}</script>
window是BOW中其他对象的顶层对象,最为重要。
比如history,标准调用时window.history,只是window可以省略。
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body></body></html><script type="text/javascript">//alert(111);//打开确认窗口var flag=window.confirm("Right");//document.write(flag+"<hr/>");//打开文本输入窗口var str=window.prompt("Input","000");//document.write(str);//打开新的界面//window.open("day03_01.html","","width=200;height=200;");//关闭当前界面//window.close();//设置4000ms后运行一次第一个参数对应的代码 返回该函数对应id//var id1=setTimeout("document.write('hello'+'<hr/>')",4000);// clearTimeout(id1) 根据id值关闭Timeout//每3000ms运行一次第一个参数对应的代码,返回该函数对应的idvar id2=setInterval("alert(111)",3000);//clearInterval(id2); 根据id值关闭Interval</script>
* dom:document object model: 文档对象模型
** 文档:
超文本文档(超文本标记文档) html 、xml
** 对象:
提供了属性和方法
** 模型:使用属性和方法操作超文本标记型文档
*** 可以使用js里面的dom里面提供的对象,使用这些对象的属性和方法,对标记型文档进行操作
*** 想要对标记型文档进行操作,首先需要 对标记型文档里面的所有内容封装成对象
-- 需要把html里面的标签、属性、文本内容都封装成对象
*** 要想对标记型文档进行操作,解析标记型文档
- 画图分析,如何使用dom解析html
*** 解析过程
根据html的层级结构,在内存中分配一个树形结构,需要把html中的每部分封装成对象,
- document对象:整个文档
- element对象:标签对象
- 属性对象
- 文本对象
-- Node节点对象:这个对象是这些对象的父对象
*** 如果在对象里面找不到想要的方法,这个时候到Node对象里面去找
DOM模型有三种:
DOM level 1:将html文档封装成对象。
DOM level 2:在level 1的基础上添加新的功能,例如:对于事件和css样式的支持。
DOM level 3:支持xml1.0的一些新特性。
* DHTML:是很多技术的简称
** html: 封装数据
** css:使用属性和属性值设置样式
** dom:操作html文档(标记型文档)
** javascript:专门指的是js的语法语句(ECMAScript)
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body><input type="text" name="666" id="txt1" value="sign1"/><input type="text" name="666" id="txt2" value="sign2"/><input type="text" name="666" id="txt3" value="sign3"/><hr/></body></html><script type="text/javascript">// document是整个对象// 上面的input就是标签// 里面的type name id等就是属性//按照ID获取指定标签(对象)var input1=document.getElementById("txt1");document.write(input1.value+"<hr/>");//按照name获取指定标签数组(仅有一个元素时也是数组)var input2=document.getElementsByName("666");document.write(input2.length+"<hr/>");//按照标签的名字,比如input div等获取数组,用法同第二个var input3=document.getElementsByTagName("input");document.write(input3.length+"<hr/>")</script>
以下两个案例满足的功能是,我在第二个页面上点击选择,可以在第一个界面上进行显示。
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body>Number:<input tyep="text" value="" id="number"/><br/>Name:<input tyep="text" value="" id="name"/><br/><input type="button" value="Select" onclick="click1();"/></body></html><script type="text/javascript">function click1(){open("day03_09_Example2.html","","width=200;height=200;");}</script>
<html><head><title>HTML EXAMPLE</title><style type="text/css"></style></head><body><table><tr><td>Button</td><td>Number</td><td>Name</td></tr><tr><td><input type="button" value="Select" onclick="click1(100,'Tom');"></td><td name="100">100</td><td name="100">Tom</td></tr><tr><td><input type="button" value="Select" onclick="click1(101,'Tim');"></td><td name="101">101</td><td name="101">Tim</td></tr></table></body></html><script type="text/javascript">function click1(a,b){// opener 设置或获取创建当前窗口的窗口的引用。var pwin=window.opener;pwin.document.getElementById("number").value=a;pwin.document.getElementById("name").value=b;close();}</script>