Day 3
一、 js的String对象
1. 创建String对象
var str = "abc"
2. 方法和属性
A.属性
length:字符串的长度
对象名.属性;
B.方法
对象名.方法();
与html相关的方法(设置数据样式的方法)
str.bold():使用粗体显示字符串
str.fontcolor("color"):使用指定的颜色来显示字符串。
str.fontsize(size):使用指定的尺寸来显示字符串。
str.link(url): 将字符串显示为链接。
str.sub():把字符串显示为下标。
str.sup():把字符串显示为上标。
与java相似的方法
str.concat(str1,str2,...,strn):连接字符串
str.charAt(index):返回在指定位置的字符。
str.indexOf(searchvalue,fromindex):检索字符串。
--indexOf() 方法对大小写敏感!
--如果要检索的字符串值没有出现,则该方法返回 -1。
str.split(separator,howmany):把字符串分割为字符串数组。
str.replace(regexp,replacement):替换与正则表达式匹配的子串。
--如果 regexp 具有全局标志 g,那么 replace() 方法将替换所有匹配的子串。否则,它只替换第一个匹配子串。
str.substr(start,length):从起始索引号提取字符串中指定数目的字符。
str.substring(start,stop): 提取字符串中两个指定的索引号之间的字符。
二、 js的Array对象
1. 创建Array对象(三种方法)
A. var arr = [1,2,3];
B. var arr = new Array(3);
C. var arr = new Array(1,2,3);
2. 属性和方法
A. 属性
length:数组的长度
B. 方法
arr.concat(arr1,arr2,......,arrn):连接两个或更多的数组,并返回结果。
arr.join(separator):把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
arr.push(newelement1,newelement2,....,newelementX):向数组的末尾添加一个或更多元素,并返回新的长度。
--如果添加的是一个数组,这个时候把数组当做一个整体字符串添加进去
arr.pop():删除并返回数组的最后一个元素
arr.reverse():颠倒数组中元素的顺序
三、 js的Date对象
1. 创建Date对象
vardate = new Date();
2. 属性和方法
A. 属性
B. 方法
date.toLocaleString():根据本地时间格式,把 Date 对象转换为字符串。
date.getFullYear():从 Date 对象以四位数字返回年份
date.getMonth():从 Date 对象返回月份 (0 ~ 11)
--如果想要得到准确的值,需要加1
date.getDay():从 Date 对象返回一周中的某一天 (0 ~ 6)
--星期日返回的是0,星期一到星期六返回的是1~6
date.getDate():从 Date 对象返回一个月中的某一天 (1 ~ 31)
date.getHours():返回 Date 对象的小时 (0 ~ 23)
date.getMinutes():返回 Date 对象的分钟 (0 ~ 59)
date.getSeconds():返回 Date 对象的秒数 (0 ~ 59))
date.getTime(): 返回 1970 年 1 月 1 日至今的毫秒数
--应用场景:使用毫秒数处理缓存的效果(不有缓存)
四、 js的Math对象(数学运算)
1. 里面都是静态方法,可以直接使用Math.方法()
Math 对象并不像 Date 和String 那样是对象的类,因此没有构造函数 Math(),像 Math.sin() 这样的函数只是函数,不是某个对象的方法。
2. 属性和方法
A. 属性
B. 方法
Math.ceil(x): 对一个数进行上舍入。
Math.floor(x):对一个数进行下舍入。
Math.round(x):把一个数四舍五入为最接近的整数
Math.random():返回 0 ~ 1之间的随机数
五、 js的全局函数
1. 由于不属于任何一个对象,直接写名称使用
2. 属性和方法
A. 属性
B. 方法
eval(string):计算JavaScript 字符串,并把它作为脚本代码来执行。
--该方法只接受原始字符串作为参数,如果 string 参数不是原始字符串,那么该方法将不作任何改变地返回。因此请不要为 eval() 函数传递 String 对象来作为参数。
encodeURI(URIstring):对字符进行编码,不编码字符有82个
encodeURIComponent(URIstring):对字符进行编码,不编码字符有71个
decodeURI(URIstring):对字符进行解码
decodeURIComponent(URIstring):对字符进行解码
isNaN(x): 检查某个值是否是数字。
--如果 x 不是数字,则返回true
--如果 x 是数字,则返回 false。
parseInt(string,radix) :类型转换,将字符串转换为整数。
六、 js函数的重载
1. 重载:方法名相同,参数不同
2. js是否存在重载?
A. js里面不存在重载,调用最后一个方法。把传递的参数保存到arguments数组里面
B. 但是可以通过其他方式模拟重载。
七、 js的BOM(browser object model)对象
1. navigator对象(了解)
获取客户机的信息(浏览器的信息)
navigator.appName:返回浏览器的名称
2. screen对象(了解)
获取屏幕的信息
screen.width:屏幕的宽
screen.weight:屏幕的高
3. location对象(了解)
请求的URL地址
location.href:获取请求的URL地址
location.href="需要跳转到的地址":设置URL地址
需求
鼠标点击事件:在页面上安置一个按钮,按钮上绑定一个事件,当点击这个按钮时,页面可以跳转到另一个页面
普通按钮:<input type="botton" value="普通按钮" onclick="js方法名()"/> --和js一起使用(表示点击按钮,调用js方法)
4. history对象(了解)
请求的URL的历史记录
需求
模拟URL历史记录:创建三个页面
--创建第一个页面a.html,写一个超链接到b.html
--创建b.html超链接到c.html
--创建c.html
history.back():加载history 列表中的前一个 URL
history.forward():加载history 列表中的下一个 URL
history.go(n): 加载 history 列表中的某个具体页面
--n=1,到下一个URL
--n=-1,到前一个URL
5. window对象(重点)
上面所讲的navigator、screen、location、history对象其实都是属于window对象里面的属性,即应该这样调用:window. navigator. appName,但是一般都省略了window,直接写成了navigator. appName。
窗口对象
顶层对象(所有的BOM对象都是在window里面操作的)
方法:
window.alert(message):页面弹出一个框,显示内容
--简写alert()
window.confirm(message): 显示带有一段消息以及确认按钮和取消按钮的对话框。
--如果点击确定按钮,则 confirm() 返回 true
--如果点击取消按钮,则 confirm() 返回 false
window.prompt(text,defaultText):输入对话框。
--text:要在对话框中显示的纯文本
-- defaultText:默认的输入文本
window.open(URL,name,features,replace): 打开一个新的窗口
-- URL:打开的新窗口的地址url
--name:一般为空
--features:窗口特征,比如说窗口的宽度和高度
window.close():关闭浏览器窗口(浏览器兼容性比较差)
设置定时器(timeout)
window.setInterval("js代码",毫秒数): 按照指定的周期(以毫秒计)来调用函数或计算表达式。
//每3秒,执行一次alert方法
window.setInterval("alert('123')",3000);
window.setTimeout("js代码",毫秒数):在指定的毫秒数后调用函数或计算表达式,但是只会执行一次
//3秒后,执行一次alert方法,然后不再执行
window.setInterval("alert('123')",3000);
清除定时器(timeout)
window.clearInterval(id_of_setinterval):取消由setInterval() 设置的定时器
window.clearTimeout(id_of_settimeout):取消由setTimeout()方法设置的定时器
八、 js的DOM(document object model)对象
文档:超文本文档(标记型文档) html、xml
对象:属性、方法
模型:使用属性和方法操作超文本标记文档
可以使用js里面的dom提供的对象,使用这些对象的属性和方法,对超文本标记文档进行操作
要对标记型文档进行操作,首先需要对标记型文档里面的所有内容(html里面的标签、属性、文本等)封装成对象(document对象、element对象、属性对象、文本对象、Note节点对象),使用dom解析标记型文档
document对象:整个html文档
element对象:标签对象
属性对象
文本对象
Note节点对象:上述对象的父对象
树形结构:有且只有一个根节点,在根节点下面可以有多个子节点,没有子节点的节点为叶子节点
DHML:很多技术的简称
--html:封装数据
--css:使用属性和属性值设置样式
--dom:操作html文档(标记型文档)
--js:专门指的是js的语法语句(ECMAScript)
1. document对象:整个html封装成的文档
方法
document.write(exp1,exp2,exp3,....):向文档写HTML表达式或 JavaScript 代码。
document.getElementById(id):通过标签的id属性值,返回元素(标签)对象
document.getElementsByName(name): 通过标签的name属性值,返回元素(标签)数组对象
document.getElementsByTagName(tagname) :通过标签,返回带有指定标签名的对象集合
属性
opener: 返回对创建此窗口的窗口的引用。
window弹窗案例
做这个案例的时候会有一个问题,由于现在访问的是本地文件,js安全性,谷歌浏览器安全级别很高,不允许访问本地文件。在实际开发中,没有这样的问题,实际中不可能访问本地的文件。
2. element对象:标签对象属性对象
文本对象
Note节点对象:上述对象的父对象
剩下的这些对象在Day4里面讲
附上本人的联系方式,欢迎各位前来交流探讨!