JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。
对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;
对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;
JavaScript 提供多个内建对象,比如 String、Date、Array 等等,使用对象前先定义,如下使用数组对象:
var objectName =new Array();//使用new关键字定义对象
或者
var objectName =[];
访问对象属性的语法:
objectName.propertyName
如使用 Array 对象的 length 属性来获得数组的长度:
var myarray=new Array(6);//定义数组对象
var myl=myarray.length;//访问数组长度length属性
以上代码执行后,myl的值将是:6
访问对象的方法:
objectName.methodName()
如使用string 对象的 toUpperCase() 方法来将文本转换为大写:
var mystr="Hello world!";//创建一个字符串
var request=mystr.toUpperCase(); //使用字符串对象方法
以上代码执行后,request的值是:HELLO WORLD!
日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒)。
定义一个时间对象 :
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日
我们最好使用下面介绍的“方法”来严格定义时间。
访问方法语法:“<日期对象>.<方法>”
Date对象中处理时间和日期的常用方法:
方法名称 | 功能描述 |
---|---|
getDate()/setDate() | 返回/设置日期 |
getFullYear()/setFullYear() | 返回/设置年份,四位数表示 |
getYear()/setYear() | 返回/设置年份 |
getMonth()/setMonth() | 返回/设置月份 |
getHours()/setHours() | 返回/设置小时,24小时制 |
getMinutes()/setMinutes() | 返回/设置分钟数 |
getSeconds()/setSeconds() | 返回/设置秒数 |
getTime()/setTime() | 返回/设置时间,毫秒为单位 |
get/setFullYear()
返回/设置年份,用四位数表示。
var mydate=new Date();//当前时间2014年3月6日
document.write(mydate+"<br>");//输出当前时间
document.write(mydate.getFullYear()+"<br>");//输出当前年份
mydate.setFullYear(81); //设置年份
document.write(mydate+"<br>"); //输出年份被设定为 0081年。
getDay()
返回星期. 返回的是0-6的数字, 0表示星期日. 如果要返回相对应的”星期”,通过数组完成,代码如下
<script type="text/javascript">
var weekday = ["Sunday","Monday","Tuesday","Wednesday","Wednesday","Friday","Saturday"];
var mydate = new Date();
document.write("Today is : "+ weekday[mydate.getDay()]);
</script>
getTime()/setTime()
返回/设置时间, 单位好描述, 计算从1970年1月1日0时到日期对象所知的日期的毫秒数
如果将目前日期对象的时间推迟1小时,代码如下:
<script type="text/javascript">
var mydate=new Date();
document.write("当前时间:"+mydate+"<br>");
mydate.setTime(mydate.getTime() + 60 * 60 * 1000);
document.write("推迟一小时时间:" + mydate);
</script>
定义字符串的方法就是直接赋值.
var mystr = "I love JavaScript"; // ES5
let newstr = "I love you more"; // ES6
定义字符串后, 就可以访问它的属性和方法.
访问字符串对象的属性length
stringObject.length; 返回该字符串的长度。
let mystr = "Hello World!";
document.write("字符串的长度为: " + mystr.length); // 12= 10个英文字母+1个空格+1个感叹号
访问字符串对象的方法:
使用 String 对象的 toUpperCase() 方法来将字符串小写字母转换为大写:
var mystr="Hello world!";
var mynum=mystr.toUpperCase();
document.write(mynum);
使用 String 对象的 toLowerCase() 方法来将字符串大写字母转换为小写:
var mystr="Hello world!";
var mynum=mystr.toLowerCase();
document.write(mynum);
charAt() 方法可返回指定位置的字符. 返回的字符是长度为1的字符串.
语法:
stringObject.charAt(index)
index 必需. 表示字符串中某个位置的数字, 即字符在字符串中的下标
如果index不在0与string.length-1之间, 该方法返回一个空的字符串
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
语法:
stringObject.indexOf(substring, startpos)
参数说明:
substring 必需条件. 规定要检索的字符串值. startpos 可选的整数参数. 规定在字符串中开始检索的位置. 它的合法值是 0 到 stringObject.length-1 . 如果省略该数值,将从字符串的首字符开始检索
说明:
该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 substring。
可选参数,从stringObject的startpos位置开始查找substring,如果没有此参数将从stringObject的开始位置查找。
如果找到一个 substring,则返回 substring 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。
注意:
indexOf() 方法区分大小写。
如果要检索的字符串值没有出现,则该方法返回 -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>
split() 方法将字符串分割为字符串数组,并返回此数组。
语法:
stringObject.split(separator,limit)
参数说明:
separator 必需. 从该参数指定的地方分隔StringObject. limit 可续阿奴参数, 分隔的次数. 如果设置该参数, 返回的子串不会多于这个参数指定的数组. 如果五次参数, 为不限制次数.
注意: 如果把空字符串 (“”) 用作 separator,那么 stringObject 中的每个字符之间都会被分割。
我们将按照不同的方式来分割字符串:
使用指定符号分割字符串,代码如下:
var mystr = "www.baidu.com";
document.write(mystr.split(".")+"<br>");
document.write(mystr.split(".", 2)+"<br>");
substring() 方法用于提取字符串中介于两个指定下标之间的字符。
语法:
stringObject.substring(startPos,endPos)
参数说明:
startPos 必需. 一个非负正整数, 起始位置. endPos 可选. 非负整数, 结束为止. 如果省略该参数, 那么返回的子串中, 会一直到字符串对象的结尾.
注意:
返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start。
如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。
如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。
使用 substring() 从字符串中提取字符串,代码如下:
<script type="text/javascript">
var mystr="I love JavaScript";
document.write(mystr.substring(7));
document.write(mystr.substring(2,6));
</script>
substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。
语法:
stringObject.substr(startPos,length)
参数说明:
startPos 必需. 要提取的子串的起始位置,必须是数值. length 可选. 提取字符串的长度. 如果省却, 则从stringObject的开始位置startPos 到 stringObject的结尾的字符.
注意:如果参数startPos是负数,从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
如果startPos为负数且绝对值大于字符串长度,startPos为0。
使用 substr() 从字符串中提取一些字符,代码如下:
<script type="text/javascript">
var mystr="I love JavaScript!";
document.write(mystr.substr(7));
document.write(mystr.substr(2,4));
</script>