字符串(String) 对象
Sting 对象用于处理已有在字符块
JavaScript 字符串
一个字符串用于存储一系列字符就像 "John Doe".
一个字符串可以使用单引号或双引号:
-
var carname="Volvo XC60";
-
var carname='Volvo XC60';
你使用位置(索引)可以访问字符串中任何的字符:
var character=carname[7];
字符串的索引从零开始, 所以字符串第一字符为 [0],第二个字符为 [1], 等等。
你可以在字符串中使用引号,如下实例:
-
var answer="It's alright";
-
var answer="He is called 'Johnny'";
-
var answer='He is called "Johnny"';
或者你可以在字符串中使用转义字符(\)使用引号:
-
var answer='It\s alright;'
-
var answer="He is called \"Johnny\"";
字符串(String)
字符串(String)使用长度属性lenght来计算字符串的长度:
实例:
-
var txt="Hello World!"
-
();
-
var txt="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
-
();
String与Object之间的转换:
实例
-
-
-
var str3=new String("hello,world");
-
//alert(typeof str3);// 对象类型 object
-
//string--转换为-->object--- 使用 new String(字符串值)
-
//object--转换为-->string--- 使用toString() /valueoOf()--返回某个字符串对象的string
-
var str4=();
-
alert(typeof str4);
在字符串中查找字符串
字符串使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置:
实例:
-
var str="Hello world, welcome to the universe.";
-
var n=("welcome");
如果没找到对应的字符函数返回-1
lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。
内容匹配
match()函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。
实例:
-
var str="Hello world!";
-
(("world") + "<br>");
-
(("World") + "<br>");
-
(("world!"));
替换内容
replace() 方法在字符串中用某些字符替换另一些字符。
实例:
-
str="Please visit Microsoft!"
-
var n=("Microsoft","Runoob");
字符串大小写转换
字符串大小写转换使用函数 toUpperCase() / toLowerCase():
实例:
-
var txt="Hello World!"; // String
-
var txt1=(); // txt1 文本会转换为大写
-
var txt2=(); // txt2 文本会转换为小写
字符串转为数组
字符串使用split()函数转为数组:
实例:
-
txt="a,b,c,d,e" // String
-
(","); // 使用逗号分隔
-
(" "); // 使用空格分隔
-
("|"); // 使用竖线分隔
特殊字符
Javascript 中可以使用反斜线(\)插入特殊符号,如:撇号,引号等其他特殊符号。
查看如下 JavaScript 代码:
-
var txt="We are the so-called "Vikings" from the north.";
-
(txt);
在JavaScript中,字符串的开始和停止使用单引号或双引号。这意味着,上面的字符串将被切成: We are the so-called
解决以上的问题可以使用反斜线来转义引号:
-
var txt="We are the so-called \"Vikings\" from the north.";
-
(txt);
JavaScript将输出正确的文本字符串:We are the so-called "Vikings" from the north.
下表列出其他特殊字符,可以使用反斜线转义特殊字符:
代码 |
输出 |
\' |
单引号 |
\" |
双引号 |
\\ |
斜杆 |
\n |
换行 |
\r |
回车 |
\t |
tab |
\b |
空格 |
\f |
换页 |
String 对象属性
属性 |
描述 |
constructor |
对创建该对象的函数的引用 |
length |
字符串的长度 |
prototype |
允许您向对象添加属性和方法 |
String 对象方法
方法 |
描述 |
charAt() |
返回在指定位置的字符。 |
concat() |
连接两个或更多字符串,并返回新的字符串。+ |
indexOf() |
返回某个指定的字符串值在字符串中首次出现的位置。 |
lastIndexOf() |
从后向前搜索字符串,并从起始位置(0)开始计算返回字符串最后出现的位置。 |
match() |
查找找到一个或多个正则表达式的匹配。 |
replace() |
在字符串中查找匹配的子串, 并替换与正则表达式匹配的子串。 |
split() |
把字符串分割为字符串数组。 |
startsWith() |
查看字符串是否以指定的子字符串开头。 |
substr() |
从起始索引号提取字符串中指定数目的字符。 |
substring() |
提取字符串中两个指定的索引号之间的字符。 |
toLowerCase() |
把字符串转换为小写。 |
toUpperCase() |
把字符串转换为大写。 |
trim() |
去除字符串两边的空白 |
toLocaleLowerCase() |
根据本地主机的语言环境把字符串转换为小写。 |
toLocaleUpperCase() |
根据本地主机的语言环境把字符串转换为大写。 |
valueOf() |
返回某个字符串对象的原始值。 |
toString() |
返回一个字符串。 |
String 对象方法
String HTML 包装方法
HTML 返回包含在相对应的 HTML 标签中的内容。
以下方法并非标准方法,所以可能在某些浏览器下不支持。
方法 |
描述 |
anchor() |
创建 HTML 锚。 |
big() |
用大号字体显示字符串。<b></b> |
blink() |
显示闪动字符串。 |
bold() |
使用粗体显示字符串。 |
fixed() |
以打字机文本显示字符串。 |
fontcolor() |
使用指定的颜色来显示字符串。 |
fontsize() |
使用指定的尺寸来显示字符串。 |
italics() |
使用斜体显示字符串。 |
link() |
将字符串显示为链接。 |
small() |
使用小字号来显示字符串。 |
strike() |
用于显示加删除线的字符串。 |
sub() |
把字符串显示为下标。 |
sup() |
把字符串显示为上标。 |
Date(日期) 对象
日期对象用于处理日期和时间。
可以通过new 关键词来定义Date对象。
以下代码定义了名为myDate的Date对象
有四种方式初始化日期
-
new Date();
-
new Date(value);
-
new Date(dateString);
-
new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);
实例化一个日期的一些例子:
-
var today = new Date();
-
var d1 = new Date("October 13, 1975 11:13:00");
-
var d2 = new Date(79,5,24);
-
var d3 = new Date(79,5,24,11,33,0)
设置日期
通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。
在下面的例子中,我们为日期对象设置了一个特定的日期 (2010 年 1 月 14 日):
-
var myDate=new Date();
-
myDate.setFullYear(2010,0,14);
在下面的例子中,我们将日期对象设置为 5 天后的日期:
-
var myDate=new Date();
-
myDate.setDate(myDate.getDate()+5);
两个日期比较
日期对象也可用于比较两个日期。
下面的代码将当前日期与 2100 年 1 月 14 日做了比较:
-
var x=new Date();
-
x.setFullYear(2100,0,14);
-
var today = new Date();
-
if (x>today){
-
alert("今天是2100年1月14日之前");
-
}else{
-
alert("今天是2100年1月14日之后");
-
}
如何把日期格式化为指定格式?
-
Date.prototype.format = function (fmt) {
-
var o = {
-
"M+": () + 1, //月份
-
"d+": (), //日
-
"h+": (), //小时
-
"m+": (), //分
-
"s+": (), //秒
-
"q+": ((() + 3) / 3), //季度
-
"S": () //毫秒
-
};
-
// 获取年份
-
// ①
-
if (/(y+)/i.test(fmt)) {
-
fmt = fmt.replace(RegExp.$1, (() + "").substr(4 - RegExp.$1.length));
-
}
-
for (var k in o) {
-
// ②
-
if (new RegExp("(" + k + ")", "i").test(fmt)) {
-
fmt = fmt.replace(
-
RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
-
}
-
}
-
return fmt;}
-
var now = new Date();
-
var nowStr = now.format("YYYY-MM-DD"); // 2021-01-11
Date对象属性
属性 |
描述 |
constructor |
返回对创建此对象的 Date 函数的引用。 |
prototype |
使您有能力向对象添加属性和方法。 |
Date 对象方法
方法 |
描述 |
getDate() |
从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getDay() |
从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
getFullYear() |
从 Date 对象以四位数字返回年份。 |
getHours() |
返回 Date 对象的小时 (0 ~ 23)。 |
getMilliseconds() |
返回 Date 对象的毫秒(0 ~ 999)。 |
getMinutes() |
返回 Date 对象的分钟 (0 ~ 59)。 |
getMonth() |
从 Date 对象返回月份 (0 ~ 11)。 |
getSeconds() |
返回 Date 对象的秒数 (0 ~ 59)。 |
getTime() |
返回 1970 年 1 月 1 日至今的毫秒数。 |
getTimezoneOffset() |
返回本地时间与格林威治标准时间 (GMT) 的分钟差。 |
getUTCDate() |
根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。 |
getUTCDay() |
根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。 |
getUTCFullYear() |
根据世界时从 Date 对象返回四位数的年份。 |
getUTCHours() |
根据世界时返回 Date 对象的小时 (0 ~ 23)。 |
getUTCMilliseconds() |
根据世界时返回 Date 对象的毫秒(0 ~ 999)。 |
getUTCMinutes() |
根据世界时返回 Date 对象的分钟 (0 ~ 59)。 |
getUTCMonth() |
根据世界时从 Date 对象返回月份 (0 ~ 11)。 |
getUTCSeconds() |
根据世界时返回 Date 对象的秒钟 (0 ~ 59)。 |
getYear() |
已废弃。 请使用 getFullYear() 方法代替。 |
parse() |
返回1970年1月1日午夜到指定日期(字符串)的毫秒数。 |
setDate() |
设置 Date 对象中月的某一天 (1 ~ 31)。 |
setFullYear() |
设置 Date 对象中的年份(四位数字)。 |
setHours() |
设置 Date 对象中的小时 (0 ~ 23)。 |
setMilliseconds() |
设置 Date 对象中的毫秒 (0 ~ 999)。 |
setMinutes() |
设置 Date 对象中的分钟 (0 ~ 59)。 |
setMonth() |
设置 Date 对象中月份 (0 ~ 11)。 |
setSeconds() |
设置 Date 对象中的秒钟 (0 ~ 59)。 |
setTime() |
setTime() 方法以毫秒设置 Date 对象。 |
setUTCDate() |
根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。 |
setUTCFullYear() |
根据世界时设置 Date 对象中的年份(四位数字)。 |
setUTCHours() |
根据世界时设置 Date 对象中的小时 (0 ~ 23)。 |
setUTCMilliseconds() |
根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。 |
setUTCMinutes() |
根据世界时设置 Date 对象中的分钟 (0 ~ 59)。 |
setUTCMonth() |
根据世界时设置 Date 对象中的月份 (0 ~ 11)。 |
setUTCSeconds() |
setUTCSeconds() 方法用于根据世界时 (UTC) 设置指定时间的秒字段。 |
setYear() |
已废弃。请使用 setFullYear() 方法代替。 |
toDateString() |
把 Date 对象的日期部分转换为字符串。 |
toGMTString() |
已废弃。请使用 toUTCString() 方法代替。 |
toISOString() |
使用 ISO 标准返回字符串的日期格式。 |
toJSON() |
以 JSON 数据格式返回日期字符串。 |
toLocaleDateString() |
根据本地时间格式,把 Date 对象的日期部分转换为字符串。 |
toLocaleTimeString() |
根据本地时间格式,把 Date 对象的时间部分转换为字符串。 |
toLocaleString() |
根据本地时间格式,把 Date 对象转换为字符串。 |
toString() |
把 Date 对象转换为字符串。 |
toTimeString() |
把 Date 对象的时间部分转换为字符串。 |
toUTCString() |
根据世界时,把 Date 对象转换为字符串。 实例: var today = new Date();var UTCstring = (); |
UTC() |
根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。 |
valueOf() |
返回 Date 对象的原始值。 |
3. JavaScript Array(数组) 对象
数组对象的作用是:使用单独的变量名存储一系列的值。
什么是数组?
数组对象是使用单独的变量名来存储一系列的值。
如果你有一组数据(例如:车名字),存在单独变量如下所示:
-
var car1="Saab";
-
var car2="Volvo";
-
var car3="BMW";
然而,如果你想从中找出某一辆车?并且不是3辆,而是300辆呢?这将不是一件容易的事!
最好的方法就是用数组。
数组可以用一个变量名存储所有的值,并且可以用变量名访问任何一个值。
数组中的每个元素都有自己的的ID,以便它可以很容易地被访问到。
创建一个数组
创建一个数组,有三种方法。
下面的代码定义了一个名为 myCars的数组对象:
1: 常规方式:
-
var myCars=new Array();
-
myCars[0]="Saab";
-
myCars[1]="Volvo";
-
myCars[2]="BMW";
2: 简洁方式:
var myCars=new Array("Saab","Volvo","BMW");
3: 字面:
var myCars=["Saab","Volvo","BMW"];
访问数组
通过指定数组名以及索引号码,你可以访问某个特定的元素。
以下实例可以访问myCars数组的第一个值:
var name=myCars[0];
以下实例修改了数组 myCars 的第一个元素:
myCars[0]="Opel";
[0] 是数组的第一个元素。[1] 是数组的第二个元素。
在一个数组中你可以有不同的对象
所有的JavaScript变量都是对象。数组元素是对象。函数是对象。
因此,你可以在数组中有不同的变量类型。
你可以在一个数组中包含对象元素、函数、数组:
-
myArray[0]=Date.now;
-
myArray[1]=myFunction;
-
myArray[2]=myCars;
创建新方法
原型是JavaScript全局构造函数。它可以构建新Javascript对象的属性和方法。
实例:创建一个新的方法。
-
Array.prototype.myUcase=function(){
-
for (i=0;i<this.length;i++){
-
this[i]=this[i].toUpperCase();
-
}
-
}
上面的例子创建了新的数组方法用于将数组小写字符转为大写字符。
数组属性
属性 |
描述 |
constructor |
返回创建数组对象的原型函数。 |
length |
设置或返回数组元素的个数。 |
prototype |
允许你向数组对象添加属性或方法。 |
Array 对象方法
方法 |
描述 |
concat() |
连接两个或更多的数组,并返回结果。 |
forEach() |
数组每个元素都执行一次回调函数。 |
indexOf() |
搜索数组中的元素,并返回它所在的位置。 |
join() |
把数组的所有元素放入一个字符串。 |
lastIndexOf() |
搜索数组中的元素,并返回它最后出现的位置。 |
pop() |
删除数组的最后一个元素并返回删除的元素。 |
push() |
向数组的末尾添加一个或更多元素,并返回新的长度。 |
reverse() |
反转数组的元素顺序。 |
shift() |
删除并返回数组的第一个元素。 |
slice() |
选取数组的一部分,并返回一个新数组。 |
sort() |
对数组的元素进行排序。 |
splice() |
从数组中添加或删除元素。 |
toString() |
把数组转换为字符串,并返回结果。 |
unshift() |
向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() |
返回数组对象的原始值。 |
Boolean(布尔) 对象
Boolean(布尔)对象用于将非布尔值转换为布尔值(true 或者 false)。
创建 Boolean 对象
Boolean 对象代表两个值:"true" 或者 "false"
下面的代码定义了一个名为 myBoolean 的布尔对象:
var myBoolean=new Boolean();
如果布尔对象无初始值或者其值为:
-
//var num1=10; // 0==false 非0数字---true
-
//var str="hello"; // 空字符串==false 非空字符串==true
-
var test1=null; // null==false
Boolean 对象属性
属性 |
描述 |
constructor |
返回对创建此对象的 Boolean 函数的引用 |
prototype |
使您有能力向对象添加属性和方法。 |
Boolean 对象方法
描述 |
|
toString() |
把布尔值转换为字符串,并返回结果。 |
valueOf() |
返回 Boolean 对象的原始值。 |
Math(算数) 对象
Math(算数)对象的作用是:执行常见的算数任务。
Math 对象提供多种算数值类型和函数。无需在使用这个对象之前对它进行定义。
使用 Math 的属性/方法的语法
-
var x=Math.PI;
-
var y=Math.sqrt(16);
注意: Math对象无需在使用这个对象之前对它进行定义。
Math 对象属性
属性 |
描述 |
E |
返回算术常量 e,即自然对数的底数(约等于2.718)。 |
LN2 |
返回 2 的自然对数(约等于0.693)。 |
LN10 |
返回 10 的自然对数(约等于2.302)。 |
LOG2E |
返回以 2 为底的 e 的对数(约等于 1.4426950408889634)。 |
LOG10E |
返回以 10 为底的 e 的对数(约等于0.434)。 |
PI |
返回圆周率(约等于3.14159)。 |
SQRT1_2 |
返回 2 的平方根的倒数(约等于 0.707)。 |
SQRT2 |
返回 2 的平方根(约等于 1.414)。 |
Math 对象方法
方法 |
描述 |
abs(x) |
返回 x 的绝对值。 |
acos(x) |
返回 x 的反余弦值。 |
asin(x) |
返回 x 的反正弦值。 |
atan(x) |
以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。 |
atan2(y,x) |
返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。 |
ceil(x) |
对数进行上舍入。 |
cos(x) |
返回数的余弦。 |
exp(x) |
返回 Ex 的指数。 |
floor(x) |
对 x 进行下舍入。 |
log(x) |
返回数的自然对数(底为e)。 |
max(x,y,z,...,n) |
返回 x,y,z,...,n 中的最高值。 |
min(x,y,z,...,n) |
返回 x,y,z,...,n中的最低值。 |
pow(x,y) |
返回 x 的 y 次幂。 |
random() |
返回 0 ~ 1 之间的随机数。 |
round(x) |
四舍五入。 |
sin(x) |
返回数的正弦。 |
sqrt(x) |
返回数的平方根。 |
tan(x) |
返回角的正切。 |