String对象:
它是 JavaScript 的一种基本的数据类型
String 对象的 length 属性声明了该字符串中的字符数,String 类定义了大量操作字符串的方法,例如从字符串中提取字符或子串,或者检索字符或子串
需要注意的是,JavaScript 的字符串是不可变的(immutable),String 类定义的方法都不能改变字符串的内容
例如: String.toUpperCase() 这样的方法,返回的是全新的字符串,而不是修改原始字符串
在较早的 Netscape 代码基的 JavaScript 实现中(例如 Firefox 实现中),字符串的行为就像只读的字符数组
例如,从字符串 s 中提取第三个字符,可以用 s[2] 代替更加标准的 s.charAt(2)
此外,对字符串应用 for/in 循环时,它将枚举字符串中每个字符的数组下标(但要注意,ECMAScript 标准规定,不能枚举 length 属性),因为字符串的数组行为不标准,所以应该避免使用它
。
定义:
方式一:
var 变量名=new String(s);
举例:
<script>
var str=new String("hello");
alert(str);
</script>
显示如下:
方式二:
var 变量名=s;
举例:
<script>
//以下两种方式均可
var str="good";
var str='good';
alert(str);
</script>
属性:
它包含的很多方法都与Java相同,因此这里不进行赘述,不熟悉的小伙伴可去官方手册查询!传送门
length:字符串的长度
举例:
<script>
var str='good morning';
alert(str.length);
</script>
显示如下:
方法:
charAt():返回在指定位置的字符
举例:
<script>
var str='good morning';
alert(str.charAt(2));
</script>
显示如下:
indexOf():检索字符串
<script>
var str='good morning';
//返回指定字符的索引值,若不存在则返回-1
alert(str.indexOf('o'));
</script>
显示如下:
trim()方法用来去除字符串前后端的空格:
去除前:
<script>
var str=" hello ";
alert(1+str+1);
</script>
显示如下:
去除后:
<script>
var str=" hello ";
alert(1+str.trim()+1);
</script>
显示如下:
自定义对象:
格式:
var 对象名称={
属性名称1:属性值1,
属性名称2:属性值2,
.....
函数名称:function(形参列表){}
.....
}
举例:
<script>
var person={
name:"张三",
age:23,
eat:function(){
alert("干饭~");
}
};
//访问属性和方法
alert(person.name);
alert(person.age);
person.eat();
</script>
打卡网页依次弹出name的值—>age的值—>方法中的alert内容
BOM对象:
Browser Object Model
浏览器对象模型
JavaScript将浏览器的各个组成部分封装成为对象
history:包含用户(在浏览器窗口中)访问过的URL,它是window对象的一部分,可通过window,history属性对其进行访问
Navigator:包含浏览器的基本信息[不常用]
Screen:包含有关客户端显示屏幕的信息[不常用]
location:用于获取当前页面的地址,并把浏览器重定向到新的页面
Window:表示浏览器中打开的窗口,是浏览器对象中的顶层对象
window对象常用的方法:
直接使用window,其中window.可省略
1:alert():显示带有一段消息和一个确认按钮的警告框
显示如下:
2:confirm():显示带有一段消息以及确认按钮和取消按钮的对话框
举例:
<script>
confirm("确定吗?");
</script>
显示如下:
3:open()方法:打开一个新的浏览器窗口或者查找一个已命令的窗口
举例:
<script>
var x=parseInt(prompt("请输入分数"));
if(x>90)
window.open("1.html");
</script>
显示如下:
当输入的分数大于90时,则打开当前目录下的1.html网页
4:setInterval(function,毫秒值):按照指定的周期(以毫秒计)来调用函数或计算表达式[循环执行]
举例:
<script type="text/javascript">
//window.onload:在网页加载完毕后立刻执行的操作,即当 HTML 文档加载完毕后,立刻执行某个方法。
window.onload=function(){
var interv = setInterval(run,1000);
}
function run(){
alert("hello");
}
</script>
显示效果为:每隔一秒钟出现弹框,内容为hello,并且会重复出现弹框
5:setTimeout(function,毫秒值):在指定的毫秒数后调用函数或计算表达式[只执行一次]
举例:
<script type="text/javascript">
//window.onload:在网页加载完毕后立刻执行的操作,即当 HTML 文档加载完毕后,立刻执行某个方法。
window.onload=function(){
var interv = setTimeout(run,1000);
}
function run(){
alert("hello");
}
</script>
显示效果为:等待一秒钟出现弹框,内容为hello,弹框只出现一次
Location对象常用的方法:
assign():来加载新的文档
举例:
<body>
<script>
function assginfunc(){
window.location.assign("http://www.xysfxy.cn");
}
</script>
<input type="button" value="Load new document" onclick="assginfunc()"/>
</body>
显示如下:
history对象常用的方法:
1:back():可以加载history列表中的前一个URL
举例:
<body>
<script>
function goback(){
window.history.back();
}
</script>
<input type="button" value="Back" onclick="goback()">
</body>
显示如下:
2:forward():用来加载history列表指定的URL网页
举例:
<body>
<script>
function goForward(){
window.history.forward();
}
</script>
<input type="button" value="goForward" onclick="goForward()"/>
</body>
显示如下:
3:go(number|URL)方法:可以加载history列表中的某个具体页面
//参数可以是一个数值,表示要访问的URL在history的URL列表中的相对位置,也可以为要访问的URL
举例:
<body>
<script>
function goback(){
window.history.go(-1);
}
</script>
<input type="button" value="back" onclick="goback()"/>
</body>
DOM:
Document Object Mode
:文档对象模型,将标记语言的各个组成部分封装为对象
JavaScript通过DOM,就能对HTML进行操作:
改变HTML元素的内容
改变HTML元素的样式(CSS)
对HTML DOM事件做出反应
添加和删除HTML元素
DOM是w3c(万维网联盟)的标准,它定义了访问HTML和XML文档的标准
w3c DOM标准被分为3个部分:
1:核心DOM:针对任何结构文档的标准模型
Document:整个文档对象
Element:元素对象
Attribute:属性对象
Text:文本对象
Comment:注释对象
2:XML DOM:针对XML文档的标准模型
3:HTML DOM:针对HTML文档的标准模型
image:<img>
Button:<input type='button'>
获取Element:元素对象
使用Document对象的方法来获取:
getElementById:根据id属性来获取,返回一个Element对象
getElementByTagName:根据标签名称获取,返回Element对象数组
getElementByName:根据name属性值获取,返回Element对象数组
getElementByClassName:根据class属性获取,返回Element对象数组
准备如下代码:
<srcipt>
<img id="light" src="off.jpg"><br>
<div class="cls">传智教育</div><br>
<div class="cls">黑马程序员</div><br>
<input type="checkbox" name="hobby">电影
<input type="checkbox" name="hobby">旅游
<input type="checkbox" name="hobby">游戏
</srcipt>
测试:
//通过ID获取元素
var img=document.getElementByTagId("light");
alert(img);
显示如下:
//通过标签名获取元素
var divs=document.getElementsByTagName("div");
alert(divs.length);
显示如下:
//通过Name属性值获取元素
var names=document.getElementsByName("hobby");
for(let i=0 ; i< names.length ; i++){
alert(names[i]);
}
显示如下:
//通过Class获取元素
var classs=document.getElementsByClassName("cls");
for(let i=0 ; i< classs.length ; i++){
alert(classs[i]);
}
显示如下: