js的string对象
创建string对象
var str = "abc";
string对象常用属性、方法
1.属性
length表示字符串的长度
2.方法
(1)与html相关的方法
bold()方法:使用粗体显示字符串 str.bold()
fontcolor():设置字符串颜色str.fontcolor("red");
fontsize():设置字符串尺寸str.fontsize(5)
link():将字符串显示为超链接str.link(url)
sub(),sup():分别设置下标和上标str1.sub() str2.sup()
(2)与java相似的方法
concat():连接字符串str1.concat(str2)
charAt():返回指定位置的字符串str.charAt(0)
indexOf():返回字符串的位置str.indexOf("a")
字符不存在时返回-1
split():切分字符串成数组var arr1 = str.split("-");
replace():替换字符串str1.replace("原始值","替换值");
substr():抽取字符串str.substr(从下标为第几位开始,截取几个字符)
substring():str.substring(从下标为第几位开始,到下标为第几位结束且不包含最后一位)
var str="abcedfghi"
document.write(substr(5,3));//输出fgh
document.write(substring(3,5));//输出ed
document.write(substring(5,3));//输出fd
js的array对象
创建array对象
三种方式:
var arr1 = [1,2,3];
var arr2 = new Array(3);//长度是3
var arr3 = new Array(1,2,3);//数组中的元素是1,2,3
array对象常用属性、方法
1.属性
length属性:数组长度arr1.length
2.方法:
concat():数组连接arr1.concat(arr2)
join():根据指定字符分割数组arr1.join("-")
输出结果为1-2-3
push():向数组末尾添加一个元素,返回数组新的长度arr1.push("a")
var arr1 = ["a","b"];
var arr2 = ["c","d"];
document.write(arr1.push(arr2));
输出结果为3,arr2作为一个整体字符串添加
pop():删除并返回最后一个元素
reverse():颠倒数组中元素的顺序arr.reverse()
js的Date对象
获取当前时间
var date = new Date();
常用方法
转换时间格式
date.toLocalString();
获取当前的年、月、日、星期、时间
date.getFullYear();
date.getMonth()+1;
date.getDate();
date.getDay();//返回0-6,表示周日-周六
date.getHours();
date.getMinutes();
date.getSeconds();
date.getTime();//获取1970年1月1日至今的毫秒数
js的Math对象
1.属性
PI : 圆周率
2.方法
里边都是静态方法,直接使用Math.方法()
Math.ceil(x):向上舍入
Math.floor(x):向下舍入
Math.round(x):四舍五入
var x=10.4
document.write(Math.ceil(x));//输出11
document.write(Math.floor(x));//输出10
document.write(Math.round(x));//输出10
Math.random():返回0.0-1.0伪随机数Math.floor(Math.random()*10);
可以得到0-9的随机数
Math.max(x,y);
Math.min(x,y);
Math.pow(x,y); x的y次方
js的全局函数
由于不属于任何对象,直接写名称使用
eval:如果字符串是一个js代码,直接执行
var str = "alert("a");";
eval(str);
encodeURI():对字符进行编码
decodeURI():对字符进行解码
encodeURIComponent():把字符串编码为URI组件
decodeURIComponent():解码一个编码的URI组件
isNaN():判断当前字符串是否是数字,是数字返回false,不是数字返回true
parseInt():类型转化
js函数的重载
重载:方法名相同,参数不同
js里面不存在重载,但是可以通过其他方式模拟重载的效果,把传递的参数传到arguments数组来实现
错误写法:
function add1(a,b){
return a+b;
}
function add1(a,b,c){
return a+b+c;
}
function add1(a,b,c,d){
return a+b+c+d;
}
alert(add1(1,2));//输出异常
alert(add1(1,2,3));//输出异常
alert(add1(1,2,3,4));//输出10
结论:只会调用最后一个方法
用arguments数组模拟效果:
function add(){
if(arguments.length == 2){
return arguments[0]+arguments[1];
}else if(arguments.length == 3){
return arguments[0]+arguments[1]+arguments[2];
}else if(arguments.length == 4){
return arguments[0]+arguments[1]+arguments[2]+arguments[3];
}else{
retutn 0;
}
}
alert(add1(1,2));
alert(add1(1,2,3));
alert(add1(1,2,3,4));
js的bom对象
1.bom
browser object model浏览器对象模型
2.对象:
(1)navigator
获取客户机(浏览器)的信息navigator.appName
(2)screen
获取屏幕的信息screen.width,screen.height
(3)location
请求url地址,href属性(获取请求的url地址location.href
设置url地址)
(4)history
请求的url的历史记录history.back() history.go(-1)
到访问的上一个页面、 history.forward() history.go(1)
到访问的下一个页面
(5)window
顶层对象。所有的bom对象都是在window里边操作的
属性:opener(获取创建当前窗口的窗口)var w = window.opener
方法:
alert():页面弹出一个框,显示内容
confirm():确认框
var flag = windows.confirm("是否确认删除?");
//返回值
if(flag == true){}
prompt():输入对话框
window.prompt("显示的内容","输入框中的默认值");
open():打开一个新的浏览器窗口
window.open("新窗口的地址","","窗口的特征(宽高)width=200,height=300");
close():关闭窗口window.close()
浏览器兼容性差
setInterval():指定周期内调用函数
window.setInterval("js代码",毫秒数);
setTimeout():在指定的毫秒数之后执行,只执行一次
window.setTimeout("js代码",毫秒数);
clearInterval():清除setInterval设置的定时器。根据setInterval的返回值
var id = setInterval("alert('a')",3000);
function clear(){
clearInterval(id);
}
clearTimeout():清除setTimeout设置的定时器。根据setTimeout的返回值
var id = setTimeout("alert('a')",3000);
function clear(){
clearTimeout(id);
}
js的dom对象
document object model:文档对象模型
文档:超文本标记文档(html,xml)
使用js里面提供的对象的属性和方法对标记型文档进行操作。
需要把html里边的标签、属性、文本内容都封装成对象,解析标记型文档
解析过程
根据html的层级结构,在内存中分配一个树形结构,需要把html中的每部分封装成对象
document对象:整个文档
element对象:标签对象
属性对象
文本对象
node节点对象:这个是这些对象的父对象
如果在对象里面找不到想要的方法,这个时候到node对象里面去找。
node接口的特性和方法
特性/方法 | 类型/返回类型 | 说明 |
---|---|---|
nodeName | String | 节点的名字:根据节点的类型而定义 |
nodeValue | String | 节点的值:根据节点的类型而定义 |
nodeType | Number | 节点的类型常量值之一 |
ownerDocument | Document | 指向这个节点所属的文档 |
firstChild | Node | 指向在childNode列表中的第一个节点 |
lastChild | Node | 指向在childNode列表中的最后一个节点 |
childNodes | NodeList | 所有子节点的列表 |
parentNodes | Node | 返回一个给定节点的父节点 |
praviousSibling | Node | 指向前一个兄弟节点:如果这个节点是第一个兄弟节点,该值为null |
nextSibling | Node | 指向后一个兄弟节点:如果这个节点就是最后一个兄弟节点,该值为null |
hasChildNodes() | Boolean | 当childNode包含一个或多个节点时,返回真 |
attributes | NamedNodeMap | 包含了代表一个元素的特性的Attr对象:仅用于Element节点 |
appendChild(node) | Node | 将node添加到childNode的末尾 |
removeChild(node) | Node | 从childNodes中删除node |
replaceChild(newnode,oldnode) | Node | 将childNodes中的oldnode替换成newnode |
insertBefore(newnode,refnode) | Node | 在childNodes中的refnode之前插入newnode |
DHTML
DHTML是几个技术的简称。
html:封装数据
css:使用属性和属性值设置样式
dom:操作html文档(标记型文档)
javascript:专门指的是js的语法语句(ECMAScript)
js的document对象
每个载入浏览器的html文档都会成为document对象。
常用方法
getElementById()
通过id得到元素(标签)
<input type="text" id="id" value="a">
<script type="text/javascript">
var input = document.getElementById("id");
alert(input.value);
</script >
getElementsByName()
通过标签的name的属性值返回一个数组(集合)
<input type="text" name="name" value="a">
<input type="text" name="name" value="b">
<input type="text" name="name" value="c">
<script type="text/javascript">
var input = document.getElementsByName("name");
alert(input.length);//输出3
for(var i=0;i<input.length;i++){//遍历数组
var input1 = input[i];
alert(input1.value);
}
</script >
getElementsByTagName()
通过标签名称返回一个数组
<input type="text" name="name" value="a">
<input type="text" name="name" value="b">
<input type="text" name="name" value="c">
<script type="text/javascript">
var input = document.getElementsByTagName("input");
alert(input.length);//输出3
for(var i=0;i<input.length;i++){//遍历数组
var input1 = input[i];
alert(input1.value);
}
</script >
write()
向页面输出变量(值),输出html代码
document.write(str);
document.write("<hr/>");
来源:CSDN
作者:陌生人的L
链接:https://blog.csdn.net/weixin_45525015/article/details/104181319