对象

一、 String字符串对象

1. 定义字符串的方法就是直接赋值。

var mystr = "I love JavaScript!"

2. 属性

stringObject.length; //返回该字符串的长度

举例:

var mystr="Hello World!";
var myl=mystr.length;

以上代码执行后,myl 的值将是:12

3.方法

方法名称功能描述
toLowerCase()转换为小写
toUpperCase()转化为大写
charAt()返回指定位置的字符
indexOf()返回指定的字符串首次出现的位置
split()将字符串分割为字符串数组,并返回此数组
substring()提取字符串
substr()提取指定数目的字符

3.1 charAt()
charAt() 方法可返回指定位置的字符。返回的字符是长度为 1 的字符串。
语法:

stringObject.charAt(index)

参数说明:

  • index:必需。字符在字符串中的下标
  • 字符串中第一个字符的下标是 0。最后一个字符的下标为字符串长度减一(string.length-1)
  • 如果参数 index 不在 0 与 string.length-1 之间,该方法将返回一个空字符串

举例:返回最后一个字符

var mystr="I love JavaScript!"
document.write(mystr.charAt(mystr.length-1) );

结果:!

3.2 indexOf()

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

语法:

stringObject.indexOf(substring, startpos)

参数说明:

  • substring:必需。规定需检索的字符串值
  • startpos:可选的整数参数。规定在字符串中开始检索的位置。它的合法值是0到stringObject.length-1。如果省略该参数,则将从字符串的首字符开始检索。
  • .如果找到一个 substring,则返回 substring 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
  • 如果要检索的字符串值没有出现,则该方法返回 -1。

举例:
对 “I love JavaScript!” 字符串内进行不同的检索:

<script type="text/javascript">
  var str="I love JavaScript!"
  document.write(str.indexOf("I") + "<br />");
  document.write(str.indexOf("v") + "<br />");
  document.write(str.indexOf("v",8));
</script>

以上代码的输出:
0
4
9

3.3 split()

split() 方法将字符串分割为字符串数组,并返回此数组。

语法:

stringObject.split(separator,limit)

参数说明:

  • separator:必需。从该参数指定的地方分割stringObject
  • limit:可选参数,分割的次数。如设置该参数,返回的字串不会多于这个参数指定的数组,如无此参数为不限制次数
  • 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

举例:

var mystr="86-010-85468578";
document.write(mystr.split("-")+ "<br />");
document.write(mystr.split("") + "<br />");
document.write(mystr.split("",3) );

以上代码的输出:
86,010,85468578
8,6,-,0,1,0,-,8,5,4,6,8,5,7,8
8,6,-

3.4 substring()

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

语法:

stringObject.substring(startPos,stopPos) 

参数说明:

  • startPos:必需。非负整数,开始位置
  • stopPos:可选参数,非负整数,结束位置。若省略该参数,那么返回的字串会一直到字符串对象的结尾。
  • 返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start。
  • 如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
  • 如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

举例:

var mystr="Hello World!"
document.write( mystr.substring(6)+ "<br />");
document.write( mystr.substring(0,4));

以上代码的输出:
World!
Hell

3.5 substr()

substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。

语法:

stringObject.substr(startPos,length)

参数说明:

  • startPos:必需。非负整数,要提取字串的起始位置
  • length:可选参数,提取字符串的长度。若省略该参数,那么返回的字串会一直到字符串对象的结尾。
  • 如果参数startPos是负数,从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
  • 如果startPos为负数且绝对值大于字符串长度,startPos为0。

举例:

var mystr="Hello World!";
document.write(mystr.substr(6)+ "<br />");
document.write(mystr.substr(0,5));

以上代码的输出:
World!
Hello

二、 Date 日期对象

1. 定义一个日期对象:

var Udate=new Date(); 

注意:

  • 使用关键字new,Date()的首字母必须大写。
  • 使 Udate 成为日期对象,并且已有初始值:当前时间(当前电脑系统时间)。

如果要自定义初始值:

var d = new Date(2012, 10, 1);  //2012年10月1日
var d = new Date('Oct 1, 2012'); //2012年10月1日

2. 方法:

方法名称功能描述
get/setDate()返回/设置日期 (当前电脑系统的日期)
get/setFullYear()返回/设置年份,用四位数表示
get/setYear()返回/设置年份
get/setMonth()返回/设置月份 0:一月… 11:十二月
get/setHours()返回/设置小时,24小时制
get/setMinutes()返回/设置分钟数
get/setSeconds()返回/设置秒钟数
get/setTime()返回/设置时间,单位毫秒数
getDay()返回星期,返回的是0-6的数字,0表示星期天
toUTCString()将当日的日期(根据 UTC)转换为字符串

get/setTime() 返回/设置时间,单位毫秒数,计算从 1970 年 1 月 1 日零时到日期对象所指的日期的毫秒数。

举例:如果将目前日期对象的时间推迟1小时,代码如下:

<script type="text/javascript">
  var mydate=new Date();
  document.write("当前时间:"+mydate+"<br>");
  mydate.setTime(mydate.getTime() + 60 * 60 * 1000);
  document.write("推迟一小时时间:" + mydate);
</script>

结果:
当前时间:Thu Mar 6 11:46:27 UTC+0800 2014
推迟一小时时间:Thu Mar 6 12:46:27 UTC+0800 2014

注意:

  • 一小时 60 分,一分 60 秒,一秒 1000 毫秒
  • 时间推迟 1 小时,就是: “x.setTime(x.getTime() + 60 * 60 * 1000);”

三、Math对象

Math 对象是一个固有的对象,无需创建它,直接把 Math 作为对象使用就可以调用其所有属性和方法。这是它与Date,String对象的区别。
在这里插入图片描述
在这里插入图片描述
random()

random() 方法可返回介于 0 ~ 1(大于或等于 0 但小于 1 )之间的一个随机数。

语法:

Math.random();

举例:

document.write((Math.random())*10);

运行结果:
8.641546281942333

四、Array对象

数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的

1. 定义数组

  • 定义了一个空数组
var  数组名= new Array();
  • 定义时指定有n个空元素的数组:
var 数组名 =new Array(n);
  • 定义数组的时候,直接初始化数据:
var  数组名 = [<元素1>, <元素2>, <元素3>...];

2. 属性

  • length:返回数组的长度,即数组里有多少个元素。它等于数组里最后一个元素的下标加一。

3. 方法

方法描述
concat()合并两个或更多的数组,并返回结果
join(分隔符)将数组的所有元素组成一个字符串。元素通过指定的分隔符进行分割
push()向数组的末尾添加一个或更多元素,并返回新的长度
pop()删除并返回数组的最后一个元素
reverse()颠倒数组中元素的顺序
shift()删除并返回数组的第一个元素
splice()删除元素,并向数组中添加新元素
slice(start,end)从某个已有的数组返回选定的元素
sort()方法从字面上/数值上对数组进行排序
toString()把数组转换为字符串,并返回结果
toSource()返回该对象的源代码
toLocaleString()把数组转化为本地数组,并返回结果
valueOf()返回数组对象的原始值

3.1 concat()

concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。

举例:

 var mya = new Array(3);
  mya[0] = "1";
  mya[1] = "2";
  mya[2] = "3";
  document.write(mya.concat(4,5)+"<br>");
  document.write(mya); 
  
运行结果:
1,2,3,4,5
1,2,3

3.2 join()

join()方法用于把数组中的所有元素放入一个字符串。元素是通过指定的分隔符进行分隔的。

语法:

arrayObject.join(分隔符)

参数说明:

分隔符:可选,若省略则使用逗号作为分隔符

举例:

var myarr1= new Array("86","010")
var myarr2= new Array("84697581");
var myarr3= myarr1.concat(myarr2);
document.write(myarr3.join("-"));

运行结果:
86-010-84697581

3.3 slice()

slice() 方法可从已有的数组中返回选定的元素。

语法:

arrayObject.slice(start,end)

参数说明:

  • start必选。如果是负数,从数组尾部开始算起的位置。也就是说,-1指最后一个元素,-2指倒数第二个元素,以此类推
  • end可选。如果是负数,从数组尾部开始算起的位置。
  • 返回一个新的数组,包含从 start 到 end (不包括该元素)的数组中的元素。
  • 可使用负值从数组的尾部选取元素。
  • 如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

举例:

 var myarr = new Array(1,2,3,4,5,6);
 document.write(myarr + "<br>");
 document.write(myarr.slice(2,4) + "<br>");
 document.write(myarr);
  
运行结果:
1,2,3,4,5,6
3,4
1,2,3,4,5,6

3.4 sort()

语法:

arrayObject.sort(方法函数)

参数说明:

  • 方法函数:可选。规定排序顺序,必须是函数
  • 如果不指定<方法函数>,则按unicode码顺序排列
  • 如果指定<方法函数>,则按<方法函数>所指定的排序方法排序
    myArray.sort(sortMethod);
    注意: 该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
    若返回值<0,则表示 A 在排序后的序列中出现在 B 之前。
    若返回值=0,则表示 A 和 B 具有相同的排序顺序。
    若返回值>0,则表示 A 在排序后的序列中出现在 B 之后。

举例:实现降序排序

function sortNum(a,b) {
     return b-a;
}
var myarr = new Array("80","16","50","6","100","1");
document.write(myarr.sort(sortNum));

运行结果:
100,80,50,16,6,1

举例:
某班的成绩出来了,现在老师要把班级的成绩打印出来。

效果图:

XXXX年XX月X日 星期X–班级总分为:81
格式要求:

1、显示打印的日期。 格式为类似“XXXX年XX月XX日 星期X” 的当前的时间。

2、计算出该班级的平均分(保留整数)。

<script type="text/javascript">

  var mydate = new Date();
  var i = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]
  document.write("今天是阳历:"+mydate.getFullYear() + "年" + mydate.getMonth() + "月" + mydate.getDay() + "日" + i[mydate.getDay()]+"<br  />");
  //通过javascript的日期对象来得到当前的日期,并输出。
  
    //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
 var myarr = scoreStr.split(";");
 for(var i=0;i<myarr.length;i++)
{
  document.write(myarr[i]+"<br  />");
}
var sum =0;
 for(var i=0;i<myarr.length;i++)
{
  sum = sum + parseInt(myarr[i].slice(3));
}
document.write("该班级总分是:"+sum+"该班级平均分是:"+parseInt(sum/myarr.length));
</script>

运行结果:
今天是阳历:2018年9月1日星期一
小明:87
小花:81
小红:97
小天:76
小张:74
小小:94
小西:90
小伍:76
小迪:64
小曼:76
该班级总分是:815该班级平均分是:81

五、window对象

window对象是BOM的核心,window对象指当前的浏览器窗口.

1. 方法
在这里插入图片描述

2. open()-打开新窗口

open() 方法可以查找一个已经存在或者新建的浏览器窗口。

  • 语法
window.open([URL], [窗口名称], [参数字符串])
  • 参数说明
    URL:可选参数,在窗口中要显示网页的网址或路径。如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档。
    窗口名称:可选参数,被打开窗口的名称。
    1.该名称由字母、数字和下划线字符组成。
    2."_top"、"_blank"、"_self"具有特殊意义的名称。
    _blank:在新窗口显示目标网页
    _self:在当前窗口显示目标网页
    _top:框架网页中在上部窗口中显示目标网页
    3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。
    4.name 不能包含有空格。
    参数字符串:可选参数,设置窗口参数,各参数用逗号隔开。
  • 参数表
参数说明
topNumber窗口顶部离开屏幕顶部的像素数
leftNumber窗口左端离开屏幕左端的像素数
widthNumber窗口的宽度
heightNumber窗口的高度
menubaryes/no窗口有无菜单
toolbaryea/no窗口有无工具条
scrollbarsyea/no窗口有无滚动条
statusyea/no窗口有无状态栏
  • 举例:
 window.open("http://www.imooc.com","_blank","width=600,height=400,top=10,left=0")  

2. confirm()-确认

confirm 消息对话框通常用于允许用户做选择的动作,如:“你对吗?”等。弹出对话框(包括一个确定按钮和一个取消按钮)。

  • 语法
confirm(str);
  • 参数说明
    str:在消息对话框中要显示的文本
    返回值: Boolean值

  • 返回值:
    当用户点击"确定"按钮时,返回true
    当用户点击"取消"按钮时,返回false

  • 举例

<script type="text/javascript">
    var mymessage=confirm("你喜欢JavaScript吗?");
    if(mymessage==true)
    {   document.write("很好,加油!");   }
    else
    {  document.write("JS功能强大,要学习噢!");   }
</script>

3. prompt()-提问

  • 语法
prompt(str1, str2);
  • 参数说明:
    str1: 要显示在消息对话框中的文本,不可修改
    str2:文本框中的内容,可以修改
  • 返回值:
    点击确定按钮,文本框中的内容将作为函数返回值
    点击取消按钮,将返回null
  • 举例:
 <script type="text/javascript">
  function rec(){
	var score; //score变量,用来存储用户输入的成绩值。
	score =prompt('请输入你的成绩:')                ;
	if(score>=90)
	{
	   document.write("你很棒!");
	}
	else if(score>=75)
    {
	   document.write("不错吆!");
	}
	else if(score>=60)
    {
	   document.write("要加油!");
    }
    else
	{
       document.write("要努力了!");
	}
  }
  </script>
  
  <input name="button" type="button" onClick="rec()" value="点击我,对成绩做评价!" />

运行结果:
在这里插入图片描述

4. setInterval() -计时器

在执行时,从载入页面后每隔指定的时间执行代码。

语法:

setInterval(代码,交互时间);

参数说明:

  1. 代码:要调用的函数或要执行的代码串。

  2. 交互时间:周期性执行或调用表达式之间的时间间隔,以毫秒计(1s=1000ms)。

返回值:

一个可以传递给 clearInterval() 从而取消对"代码"的周期性执行的值。

举例:

<script type="text/javascript">
   function clock(){
      var time=new Date();
      document.getElementById("clock").value = time;
   }

    var i=setInterval("clock()",100);
</script>

<body>
  <form>
    <input type="text" id="clock" size="50"  />
    <input type="button" value="Stop" onclick="clearInterval(i)"   />
  </form>
</body>

运行结果:
在这里插入图片描述

注意: setInterval()函数不需要调用

5. setTimeout()-计时器

setTimeout()计时器,在载入后延迟指定时间后,去执行一次表达式,仅执行一次。

语法:

setTimeout(代码,延迟时间);

参数说明:

  • 要调用的函数或要执行的代码串。
  • 延时时间:在执行代码前需等待的时间,以毫秒为单位(1s=1000ms)。

举例1:创建一个运行于无穷循环中的计数器,我们需要编写一个函数来调用其自身。在下面的代码,当按钮被点击后,输入域便从0开始计数。

<head>
<script type="text/javascript">
var num=0;
function numCount(){
 document.getElementById('txt').value=num;
 num=num+1;
 setTimeout("numCount()",1000);
 }
</script>
</head>

<body>
<form>
<input type="text" id="txt" />
<input type="button" value="Start" onClick="numCount()" />
</form>
</body>

运行结果:
在这里插入图片描述
举例2:取消计时器clearTimeout()

<script type="text/javascript">
  var num=0,i;
  function timedCount(){
    document.getElementById('txt').value=num;
    num=num+1;
    i=setTimeout(timedCount,1000);
  }
    setTimeout(timedCount,1000);
  function stopCount(){
    clearTimeout(i);
  }
</script>

<body>
  <form>
    <input type="text" id="txt">
    <input type="button" value="Stop" onClick="stopCount()">
  </form>
</body>

6. history对象

  • 语法:
window.history.[属性|方法]
  • 参数说明:
    window可以省略。
  • 属性:
    length:返回浏览历史列表中的URL数量
  • 方法:
方法描述
back()加载历史列表中的前一个 URL。相当于window.history.go(-1);
forward()加载历史列表中的下一个 URL。相当于window.history.go(1);
go()加载历史列表中的某个具体页面。

7. location对象

location用于获取或设置窗体的URL,并且可以用于解析URL。

  • 语法
location.[属性|方法]
  • location对象属性图示:
    在这里插入图片描述
  • 属性:
    在这里插入图片描述
  • 方法:
    在这里插入图片描述

8. Navigator对象

Navigator对象包含有关浏览器的信息,通常用于检测浏览器与操作系统的版本。
  • 属性:
属性名描述
appCodeName浏览器代码名的字符串表示
appName返回浏览器的名称
appVersion返回浏览器的平台和版本信息
platform返回运行浏览器的操作系统平台
userAgent返回用户代理头的字符串表示(就是包括浏览器版本信息等的字符串)

9. screen对象

screen对象用于获取用户的屏幕信息。

  • 语法:
window.screen.属性
  • 对象属性:
    在这里插入图片描述
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值