@w460461339
2016-11-16T07:26:25.000000Z
字数 9032
阅读 828
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/>")
//返回指定字符所在位置,不存在该字符就返回-1
document.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中间的e
document.write(date.toLocaleString()+"<hr/>");
//获取当年的年份,四位数字表达
document.write(date.getFullYear()+"<hr/>");
//获取月份,0~11,因此需要加一显示
document.write((date.getMonth()+1)+"<hr/>");
//获取目前星期,0~6表示周日到周六,周日为0,其他对应1~6
document.write(date.getDay()+"<hr/>");
//获取目前日,1~31
document.write(date.getDate()+"<hr/>");
//获取当前小时,0~23
document.write(date.getHours()+"<hr/>");
//获取当前分钟,0~59
document.write(date.getMinutes()+"<hr/>");
//获取当前秒,0~59
document.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/>");
//将字符串的数字转化为数字类型
//被转化字符串中不是数字,就显示NaN
var 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运行一次第一个参数对应的代码,返回该函数对应的id
var 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>