JavaScript基础&BOM
js的string对象
** 创建String对象
* var str = "abc";
** 方法和属性
* 属性:length:字符串的长度
* 方法
(1)与html相关的方法
- bold();
- fontcolor();
- fontsize();
- link(); 将字符串显示为超链接
str.link("hello.html");
- sub() sup() 上下标
(2)与java相似的方法
- concat(); 连接字符串
var str1 = "abc";
var str2 = "def";
document.write(str1.concat(str2));
- charAt(); 返回指定位置的字符串
var str = "abcdef";
document.write(str.charAt(20));//字符位置不存在,返回-1
- indexOf(); 返回字符串位置
var str = "zzrcmlx";
document.write(str.indexOf("r"));
- split(); 切分字符串成数组
var str = "a-b-c-d-e-f";
var arr1 = str.split("-");
document.write("length:"+arr1.length);
- replace(); 替代字符串
传递两个参数:
第一个参数是原始字符
第二个参数是要换成的字符
var str1 = "abcde";
document.write(str1.replace("a","Q"));
- substr()和substring()
var str = "abcdefghijk";
document.write(str.substr(5,5));// fghij 从第五位开始,后面取五个字符
*** 从第几位开始向后截取几位
document.write(str.substring(3,5)); //de 从第几位截取到第几位结束 [3,5)
*** 从第几位开始截取到第几位结束,但是不包括最后一位
js的Array对象
** 创建数组:
* Array arr = [1,2,3,"e",true];
* Array arr = new Array(3); arr[0] = 1;
* Array arr = new Array(1,2,3,"a",true);
** 属性: length
** 方法
- concat: 连接数组
var arr1 = [1,2,3];
var arr2 = [4,5,6];
document.write(arr1.concat(str2));
-join(); 根据指定的字符分割数组
var arr = [1,2,3,4,5,6];
document.write(arr.join("-"));
- push(); 向数组末尾添加元素,返回数组的新的长度
如果添加的是一个数组,就把这个数组当做一个整体添加进去
- pop(); 删除最后一个元素,返回删除的那个元素
- reverse(); 颠倒数组中元素的顺序
js的date对象
** java中获取当前时间
Date date = new Date();
//格式化时间
*** 方式1 toLocaleString()
*** 方式2
创建格式化对象:SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
格式化为日期/时间字符串 String cc = sdf.format(date);
** js里面获取当前时间
var date = new Date();
//格式化时间 document.write(date.toLocaleString());
** 获取当前年
* getFullYear();
document.write("year:"+date.getFullYear());
** 获取当前月
* getMonth();
var date1 = date.getMouth()+1;
document.write("month:"+date1);
*** 返回值是0-11月,为了得到正确值,加1
** 获取当前星期
* getDay();
document.write("week:"+date.getDay());
*** 星期天返回0,星期一到六返回1-6
** 获取当前天
* getDate();
document.write("day:"+date.getDate());
** 获取当前小时
* getHours();
** 获取当前分钟
* getMinutes();
** 获取当前秒
* getSeconds();
** 获取毫秒数
* getTime(); 返回的是1970 1 1 至今的毫秒数
*** 应用场景:使用毫秒数处理缓存的效果(不有缓存)
http://www.baidu.com?毫秒数
js的Math的对象
* 都是静态方法,使用可以直接Math.a方法名()
* ceil(x):向上舍入
* floor(x):向下舍入
* round(x):四舍五入
* random():得到一个随机数(伪随机数)
- 得到0-9的随机数
Math.random()*10;
js的全局函数
* 由于不属于任何一个对象,直接写名称使用
** eval(); 执行js代码(如果字符串是一个js代码,使用方法直接执行)
var str = "alert('12345')"
eval(str);
** encodeURL() 和 decodeURL() 对字符编码、解码

** isNaN(); 判断当前字符串是否是数字
- 是数字返回false,不是数字就返回true
** parseInt; 类型转换,将字符类型转换为int类型
** parseFloat; 类型转换,将字符类型转换为float类型
js函数的重载
* js里面是否存在重载?(面试题目)
- js里面不存在重载
- 但是可以通过其他的方式模拟重载 arguments

js的bom对象
* bom:browser object model 浏览器对象模型
** navigator:获取客户机信息(浏览器信息)
document.write(navigator.appName);
** screen: 获取屏幕信息
document.write(screen.width);
document.write(screen.height);
** location: 请求url地址
* href: 获取到请求的url地址
document.write(location.href);
* 设置url地址
页面上安置一个按钮,按钮上绑定一个事件,当点击这个按钮时,页面跳转到另一个页面
location.href = "hello.html";
** history:请求url的历史记录
* 创建三个页面
1.创建第一个页面 a.html 写一个超链接到 b.html\
2.创建 b.html 超链接到 c.html
3.创建c.html
* 到访问的上一个页面
history.back();
history.go(-1);
* 到访问的下一个页面
history.forward();
history.go(1);
**** window ****
窗口对象
顶层对象(所用的bom对象都是在window里面操作的)
** 方法
* window.alert("内容"); 弹框
简写为 alert("内容");
* window.confirm("显示的内容"); 确认框
window.confirm("是否删除?");
if(flag == true){
alert("删除成功");
}else{
alert("删除失败");
}
* prompt(); 输入的对话框
window.prompt("显示的内容","输入框默认的值");
* open(); 打开一个新的窗口
open("打开的新窗口的url地址","”,"窗口特征,比如窗口的高度和宽度");
创建一个按钮,点击按钮打开新窗口
<input type="button" value="open" onclick="open1()"/>
<script type="text/javascript">
function open1(){
window.open("hello.html","","width=600,height=500");
}
* setInterval("js代码",毫秒数); 定时器,每毫秒数执行一次js代码
setInterval("alert('aaaa')",3000);
* setTimeout("js代码",毫秒数);定时器,毫秒数后只执行一次js代码
window.setTimeout("alert('aaaa')",3000);
* clearInterval(); 清除setInterval设置的定时器
var id1 = setInterval("alert('aaaa')",3000);
clearInterval(id1);
* clearTimeout(); 清除setTimeout设置的定时器
var id2 = setTimeout("alert('aaaa')",3000);
clearTimeout(id2);

浙公网安备 33010602011771号