前言
继续记录学习
开始
1.js的String对象
1.创建String对象
var str="abc";
2.方法和属性(通过js的文档查看,推荐使用w3school,里面有对象参考手册)
只写一些常用的
属性length
字符串的长度
方法:
(1)与html相关的方法
bold();
对相关字体进行加粗
fontcolor();
设置字体的颜色
fontsize();
设置字体的大小
link();
将字符串显示为超链接
sub();
和sup();
下标和上标
(2)与java相似的方法
concat();
链接字符串
charAt();
返回指定位置的字符串(字符位置不存在时,返回一个空字符串)
indexOf();
返回字符所在的位置(字符不存在时,返回-1)
split();
切分字符串成数组
replace();
替换字符串(传递两个参数,原始字符,要替换的字符)
substr()
和substring()
:substr()
和substring()
都要传递两个参数,不过前者的意思是从第几位开始向后截取几个字符,后者的意思是从第几位开始到第几位结束,但是不包含最后一位
剩下的看文档吧
2.js的Array对象
1.之前说过,创建数组有三种方式:
var arr1 = [1,2,3];数组中的元素是1,2,3
var arr2 = new Array(3);数组的长度是3
var arr3 = new Array(1,2,3);数组中的元素是1,2,3
//此外,创建一个空数组
var arr = [];
2.方法和属性(通过js的文档查看,推荐使用w3school,里面有对象参考手册):
只写一些常用的
属性:length
查看数组的长度
方法:
concat();
表示数组的链接
join();
根据指定的字符来分割数组,比如用’-‘分开数组元素
push();
向数组的末尾添加元素,返回数组的新的长度(注意返回的是长度,此外,如果添加的是数组,它会把整个数组当成一个整体的字符串添加进去,而不是当成数组添加进去)
pop();
删除并且返回数组最后一个元素(返回的是删除的元素)
reverse();
颠倒数组中元素的顺序
3.js的Date对象
1.在java里面获取当前时间:
Date date = new Date();
//格式化
toLocalString()
2.js里面获取当前时间
var date = new Date();//Fri Apr 17 11:24:54 UTC+0800 2018
//转换成习惯的格式
document.write(date.toLocalString());//2018年4月17日10:24:54
3.其他的一些方法
getFullYear();
得到当前年份
getMonth();
得到当前的月份(返回的是0-11月,想得到正确的值需要+1)
getDay();
获取当前的星期几(返回的是0-6,外国朋友把星期日当做一周的第一天,星期日返回的是0,而星期一到星期六,返回的是1-6)
getDate();
获取而前的天(返回的是1-31)
getHours();
获取当前的小时
getMinutes();
获取当前的分钟
getSeconds();
获取当前的秒
getTime();
获取毫秒数(返回的是1970年1月1日至今的毫秒数,)应用场景:是使用毫秒数处理缓存效果(不有缓存)
4.js的Math对象
表示数学的运算,里面都是静态方法,使用时可以直接使用.Math()
方法
一些方法:
ceil(x);
向上取整
floor(x);
向下取整
round(x);
四舍五入
random();
得到一个随机数(伪随机数,范围是0-1)
剩下看文档吧
5.js的全局函数
由于这个函数不属于任何一个对象,直接写名称使用
eval();
执行js代码(如果字符串是一个js代码,使用该方法直接执行这个字符串表示的代码)
encodeURI();
对字符进行编码
decodeURI();
对字符进行解码
encodeURIComponent();
decodeURIComponent();
isNaN();
判断当前字符串是否不是数字(返回值为布尔值,不是数字返回True)
parseInt();
类型转换
6.js的函数重载
1.什么是重载?
方法名相同,参数不同。
2.js的重载是否存在?
不存在,调用最后一个方法
js里面不存在重载,但是js里面可以通过其他的方式来模拟重载,把传递的参数保存到一个arguments数组里面,通过这个数组来实现。
7.js的BOM对象
1.什么是BOM
BOM:浏览器对象模型(Browser Object Model )
2.有哪些对象?
(1)navigatoer
:获取客户机的信息(获取浏览器的信息)
document.write(navigator.appName);
(2)screen
:获取屏幕的信息
document.write(screen.width);
document.write(screen.height);
(3)location
:请求url地址
href属性:
获取到请求的url地址:
document.write(location.href);
设置url地址(实现页面上放置一个按钮,按钮上有一个点击事件,实现一个页面之间的跳转,跳转的代码就是下面这句)
location.href("hello.html");
(4)history
:请求url的历史记录(浏览器中前进和后退的记录按钮)
histroy.back(); //前一个
histroy.forward(); //后一个
histroy.go(); //具体的页面
(5)window
:
window表示窗口对象,同时也是所有bom对象的顶层对象,即所有的bom对象都是在window里面操作的
方法:
window.alert();
页面弹出一个框,显示内容,可简写为alert();
confirm("显示的内容");
确认提示框
prompt();
表示一个输入对话框
open();
打开一个新的窗口
open("打开的新窗口的地址","","窗口特征")
close();
关闭窗口(浏览器的兼容性较差)
做定时器的一些方法:
setInterval("js代码","毫秒数")
其中1秒=1000毫秒
//表示每三秒执行一次alert方法
setInterval("alert('123')",3000);
setTimeout("js代码","毫秒数")
表示毫秒数之后执行(但是只会执行一次)
//表示三秒之后执行一次alert方法
setTimeout("alert('123')",3000);
clearInterval()
表示清除掉setInterval设置的定时器
clearTimeout
表示清除掉setTimeout设置的定时器
7.js的DOM对象
DOM: document object model 文档对象模型
文档:超文本标记文档 html、xml
对象:提供属性和方法
模型:实用属性和方法来操作超文本标记语言
可以使用js里面dom提供的对象,使用这些对象的属性和方法,对标记型文档进行操作。
想要对标记型文档进行操作,首先需要将标记性文档里面的所有内容封装成对象,即需要将html里面的标签、属性、文本内容封装成对象。
要想对标记性文档进行操作、需要解析,根据html的层级结构,在内存中分配一个树形结构,将html的每部分封装成对象。
document对象:整个文档
element对象:标签对象
属性和文本对象
node节点对象
1.document对象
表示整个文档
常用方法:
write()
向页面输出变量值或html代码
getElementById()
通过id得到元素(标签)
getElementByName
通过标签的name属性值得到标签集合
getElementByTagName()
通过标签的名称得到标签集合
2.Element对象
要操纵Element对象,首先需要获取Element,使用document里面相应的方法获取
常用方法:
getAttribute("属性名称")
获取属性里面的值
setAttribute("属性名称")
获取属性里面的值
removeAttribute("属性名称")
获取属性里面的值
后记
先写到这