js的对象

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());
image.png

(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位但不包含第五位
image.png

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);
image.png

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());
image.png

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));
image.png

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);
image.png

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("显示的内容");


    image.png

-prompt(); 输入的对话框
widow.prompt("please input :","0");


image.png

-open();
-widow.open("打开的新窗口的地址","","窗口特征,比如窗口宽度和高度");


image.png

-close();关闭窗口(浏览器兼容比较差)
window.close();

-做定时器
**setInterval("JS代码",毫秒数) 1秒=1000毫秒
-表示每三秒执行一次alert方法
window.setInterval("alert('123');",3000);


image.png

**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过程


image.png

-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 林平之

image.png

你可能感兴趣的:(js的对象)