JS的String对象
**创建String对象
***var str = “abc”
**方法和属性(文档)
***属性 length:字符串的长度
*** 发法
(1)与html相关的方法
-bold(): 加粗
-fontcolor(): 设置字体的大小
-fontsize(): 设置字体的颜色
-link ():将字符串显示为超链接
****str4.link(“js.string.html")
-snb() sup():下标和上标
//length属性
var str="abcdefs";
document.write(str.length);
//bold 方法 加粗
document.write("
");
var str1="asdf";
document.write(str1.bold());
//fontcolor方法 设置字体的颜色
document.write("
");
var str2='www';
document.write(str2.fontcolor("blue"));
//fontsize方法 设置字体的大小
document.write("
");
var str3="www";
document.write(str3.fontsize(6));
//link 方法 将字符串显示为超链接
document.write("
");
var str4="haha";
document.write(str4.link("js.string.html"));
//sub sup方法 下标和上标
document.write("
");
var s1="100";
var s2="200";
var s3="300";
document.write(s1.sub());
document.write(s3);
document.write(s2.sup());
(2)与java相似的方法
-concat(); 连接字符串
- charAt() :返回指定位置的字符串
-indexOf():返回字符串位置
-split(): 切分字符串
-replace(): 替换字符串
-substr()和subsyring()
// concat 方法
var str1="abc";
var str2="aaa";
document.write(str1.concat(str2));
// charAt 方法
document.write("
");
var str3="asdfghjk";
document.write(str3.charAt(2));
// indexof 方法
document.write("
");
var str4="qwertyuiopasdfghjklzxcvbnm";
document.write(str4.indexOf("s"));//字符不存在 返回-1
//split方法
document.write("
");
var str5 = "a-b-c-d";
var arr1= str5.split("-");
document.write("length:"+arr1.length);
//replace
document.write("
");
var str6="abcd";
document.write(str6);
document.write("
");
document.write(str6.replace("a","q"));
//substr substring
document.write("
");
var str7="abcdefghtyufd";
document.write(str7.substr(5,3)); //从第五位开始向后截取三位字符
document.write("
");
document.write(str7.substring(4,5));// 从第4位开始,到底5位但不包含第五位
js 的Array对象
-length属性
- councat() 方法 连接方法
-join() 方法 分割数组
-push() 方法 像数组的末尾添加一个元素,并返回新的长度
**如果添加一个数组,这个是时候把数组当作一个字符添加进去
-pop()方法 删除并返回数组的最后一个元素
-reverse(): 颠倒数组中的元素的顺序
//length属性
var arr1=[1,2,3];
document.write(arr1.length);
// councat() 方法 连接方法
document.write("
");
var arr11=[1,2,3];
var arr12=[4,5,6];
document.write(arr11.concat(arr12));
//join() 方法 分割数组
document.write("
");
var arr13= new Array(3);
arr13[0]="a";
arr13[1]="b";
arr13[2]="c";
document.write(arr13);
document.write("
");
document.write(arr13.join("-"));
//push 方法 像数组的末尾添加一个元素,并返回新的长度
document.write("
");
var arr14= new Array(3);
arr14[0]="tom";
arr14[1]="luvy";
arr14[2]="asxx";
document.write(arr14);
document.write("
");
document.write("new length: "+arr14.push("zhangsan"));
document.write("
");
document.write("mew arr: "+arr14);
document.write("
");
var arr15=["aaa","bbb","asf"];
var arr16=["www","wasdas"];
document.write("old array:"+arr15);
document.write("
");
document.write("old length:"+arr15.length);
document.write("
");
document.write("new length:"+arr15.push(arr16));
document.write("
");
document.write("new arrat:"+arr15);
for(var i=0;i ");
var arr17=["aaa","sss","ddd","fff"];
document.write("old array:"+arr17);
document.write("
");
document.write(arr17.pop());
document.write("
");
document.write("new array:"+arr17);
//reverse(): 颠倒数组中的元素的顺序
document.write("
");
var arr18=["zhnagsan","lisi","wangmazi","mayun"];
document.write("old array:"+arr18);
document.write("
");
document.write(arr18.reverse());
document.write("
");
document.write("new array:"+arr18);
JS的Date对象
** 在Java里面获得当前时间
Date date=new Date();
// 格式化
//toLocaleString()
** 在js里面获得当前时间
var date= new Date();
** 获得当前的年方法
getFullYear()
**获取当前的月
var date1= date.getMonth()+1;
document.write("month:"+date1); // 月份显示的是0到11,所以要加一
**获得当前的星期
getDay()
**获得当前的天
getDate()
**获得当前的小时
getHours()
**获得当前的分钟
getMinutes()
**获得当前的秒
getSeconds()
**获得当前的毫秒数
getTime()
返回的是1970 11 至今的毫秒数
***应用场景:
****使用毫秒数处理缓存的效果(不有缓存)
//获取当前时间
var date = new Date();
document.write(date); //Mon Apr 08 2019 20:40:19 GMT+0800 (中国标准时间)
document.write("
");
document.write(date.toLocaleString());
// 获得当前的年
document.write("
");
document.write("year:"+date.getFullYear());
//获取当前的月
document.write("
");
var date1= date.getMonth()+1;
document.write("month:"+date1);
//获得当前的星期
document.write("
");
document.write("week:"+date.getDay());
//获得当前的天
document.write("
");
document.write("day:"+date.getDate());
//获得当前的小时
document.write("
");
document.write("hour:"+date.getHours());
//获得当前的分钟
document.write("
");
document.write("minutes:"+date.getMinutes());
//获得当前的秒
document.write("
");
document.write("seconds:"+date.getSeconds());
//获得当前的毫秒数
document.write("
");
document.write("times:"+date.getTime());
JS 的Math对象
*数学的运算
** 里面的都是静态方法,使用可以直接使用Math.方法()
**ceil()向上舍入
**floor()向下舍入
**round()四舍五入
**random() 得到随机数
**pow(2,5) 2的5 次方
var mm=10.4;
document.write("old:"+mm);
document.write("
");
document.write("ceil:"+Math.ceil(mm));
document.write("
");
document.write("floor:"+Math.floor(mm));
document.write("
");
document.write("round:"+Math.round(mm));
// random 方法
document.write("
");
document.write(Math.random());
// 得到0-9的随机数
document.write("
");
document.write(Math.floor(Math.random()*10));
// pow(2,5) 2的5 次方
document.write("
");
document.write(Math.pow(2,5));
JS的全局函数
*由于不属于任何对象,直接写名称使用
**eval() 执行js代码(如何字符串是一个js代码,使用方法直接执行)
** encodeURI(): 对字符进行编码
decodeURI(): 对字符进行解码
encodeURIComponent() 和 decodeURIComponent()
**isNaN() : 判断当前字符串是否是数字 返回值 不是数字返回true和是数字返回false
** parseInt(): 类型转换
//eval 方法
var str="document.write('1234')";
eval(str);
//encodeURI
document.write("
");
var str1="测试中文1231aa";
var encode1=encodeURI(str1);
document.write(encode1);
//decodeUR
document.write("
");
var decode1=decodeURI(encode1);
document.write(decode1);
//isNaN 返回true和flase
document.write("
");
var str2="222";
var str3="aaa";
document.write(str2+" 判断是否是数字:"+isNaN(str2));
document.write("
");
document.write(str3+" 判断是否是数字:"+isNaN(str3));
//parseInt
document.write("
");
var str4="123";
document.write(parseInt(str4)+1);
js的函数的重载
** 重载 方法名相同,方法不同
**js的重载是否存在? 不存在
**调用最后一个方法
**把传递的参数保存到 arguments数组里面
**js里面是否存在重载(面试题目)
(1)js里面不存在存在重载
(2) 但是可以通过其他方法模拟重载 (通过 argument数组实现)
js的bom对象
** bom: broswer object model:浏览器对象模拟
** 有那些对象
***navigator:获取客户机的信息
-navigator.appName
***screen: 获取屏幕的信息
-document.write(screen.wridth);
document.write("
");
document.write(screbr.height);
***location:请求url地址
-href属性
***** 获取到请求的url地址
-document.write(location.href);
**histroy: 请求url的历史纪录
-创建三个页面
1,创建第一个页面 a.huml 写一个超链接 到 b.html
2, 创建b.html 超链接到 c.html
3,创建c.html
-到访问的上一个页面
history.back();
history.go(-1);
-到访问的下一个页面
history.forward();
history.go(1);
****window()
-
窗口对象
*顶层对象(所用的bom对象都是在wundow里面操作的)
**方法
-window.alert(); 页面弹出一个框,显示内容
** 简写alert()
-confirm(); 确认框
-var flag = window.confirm("显示的内容");
-prompt(); 输入的对话框
widow.prompt("please input :","0");
-open();
-widow.open("打开的新窗口的地址","","窗口特征,比如窗口宽度和高度");
-close();关闭窗口(浏览器兼容比较差)
window.close();
-做定时器
**setInterval("JS代码",毫秒数) 1秒=1000毫秒
-表示每三秒执行一次alert方法
window.setInterval("alert('123');",3000);
**setTimeout("JS代码",毫秒数)
-表示在毫秒数之后执行,但会执行一次
window.setTimeout("alert('abc')",4000);
-setInterval (): 清除setInterval设置的定时器
var id1 =setInterval("alert('123');",3000);
clearInterval(id1);
-clearTimeout(): 清除setTimeout设置的定时器
var id2 =setTimeout("alert('abc')",4000);
clearTimeout(id2);
JS的dom对象
*dom:document object model:文本对象模型
** 文档:
超文本文档 html,xml
** 对象:
提供了属性和方法
** 模型:使用属性和方法操作超文本标记文档
*** 可以使用js吗、里面的dom里面的对象,使用这些对象的属性和方法,对标机型文档进行操作
***想要对标记型文档进行操作,首先需要对标记文档里面的所有内容封装成对象
--需要把html里面的标签,属性,文本都封装成对象
*** 要想对标记型文档进行操作,解析标记型文档
-dom解析html过程
-document对象:整个文档
-element对象:标签对象
-属性对象
-文本对象
--Node节点对象:这个对象是这些对象的父对象
***如果在对象里面找不到想要的 方法,这个时候到Node对象里面去找
*DHTML:是很多技术的简称
**html
**css
**dom
**javascript
document对象
-
表示整个的文档
**常用方法
**** write() 方法:
(1)向页面输出变量
(2)向页面输出html代码****getElementById();
-通过id得到元素(标签)
// 使用etElementById得到input标签
var input1 = document.etElementById("nameid"); //传递的参数是标签里面的id的值
//得到input里面的value值
alert(input.name); //标签对象。属性名称
// 向input里面设置一个值value
input1.value="bbbbb";
****getElementsByName();
- 通过标签的name属性值得到的标签
-返回的是一个集合(数组)
// 使用getElementsByName得到input标签
var inputs = document.getElementsByName("name1"); //传递的参数是 标签里面的name的值
//alert(input.length);
//遍历数组
for(var i=0;i
****getElementsByTagName(“标签名称”);
-通过标签名称得到元素
//演示getElementsByTagName
var inputs1 = document.getElementsByTagName("input"); //传递的参数,是标签的名称
//alter(inputs1.length);
//遍历数组,得到每个input标签
for(var m=0;m
****注意地方
****只有一个标签,这个标签只能使用name获取到,这个使用getElementsByTagName返回到是一个数组,但是现在只有一个元素,这个时候不需要遍历,而是可以通过数组的下标获取道值
// 通过那么得到input标签
var input2 = document.getElementsByName("name11")[0];
alter(inputs2.value);
var input2 = document.getElementsByTagName("name11")[0];
alter(inputs2.value);
案例: window弹窗案例
- 实现过程
1.创建一个页面
**有两个输出项和一个按钮
**按钮 上面有一个事件:弹出一个新窗口 open
2。创建弹出页面
** 表格
** 每一个有一个按钮和标号和姓名
**按钮上有一个事件,吧=把当前的编号和姓名,赋值到第一个页面相应的位置
——opener:属性,获取创建当前窗口的窗口 - 做这个案例的时候会有一个问题
*** 由于我们现在访问的是本地文件,js安全性,谷歌浏览器安全级别很高,不可以访问本地文件
*** 在实际开发中,没有这样的问题,实际中不可能访问本地文件。
编号:
姓名:
操作
编号
姓名
100
东方不败
101
岳不群
102
林平之