JavaScript的内部对象
JavaScript的内部对象
按创建方式不同分为:使用变量声明的隐性对象,使用new创建的显性对象
隐性对象
在赋值和声明后就是一个隐性对象,隐性对象不支持prototype属性,也无法随意扩展对象属性。
显性对象
显性对象支持prototype属性,支持新建对象属性。
-
JavaScript提供了十一种内部对象
Boolean对象
Boolean对象是一种数据类型,提供构造函数可以创建布尔数据类型的对象
objboolean=new Boolean();
Funcation对象
JavaScript函数就是一个funcation对象,Funcation对象是函数,如果函数有参数,这些传入的参数都是argument对象
Global对象
Global对象不能使用new来创建,在脚本语言初始化时会自动创建此对象。
Number对象
Number对象,用于创建数值类型的变量
Object对象
使用Object对象创建自定义对象
RegExp对象
JavaScript的正则表达式对象
5-2JavaScript的string对象
-
创建string对象
var obj="javascript";或var obj2=new string("JavaScript");两种方式
string对象提供了一系列的格式编排方法
String 对象方法
方法 描述
anchor() 创建 HTML 锚。
big() 用大号字体显示字符串。
blink() 显示闪动字符串。
bold() 使用粗体显示字符串。
fixed() 以打字机文本显示字符串。返回<tt>string</tt>中内容
fontcolor() 使用指定的颜色来显示字符串。
fontsize() 使用指定的尺寸来显示字符串。
fromCharCode() 从字符编码创建一个字符串。
link() 将字符串显示为链接。
italics() 使用斜体显示字符串。
localeCompare() 用本地特定的顺序来比较两个字符串。
slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。
small() 使用小字号来显示字符串。
strike() 使用删除线来显示字符串。
sub() 把字符串显示为下标。
sup() 把字符串显示为上标。
toSource() 代表对象的源代码。
toString() 返回字符串。
valueOf() 返回某个字符串对象的原始值。
<script type ="text/javascript"> var obj = "JavaScript程序设计"; document.write("anchor():" + obj.anchor() + "<br/>"); document.write("big():" + obj.big() + "<br/>"); document.write("blink():" + obj.blink() + "<br/>"); document.write("bold():" + obj.bold() + "<br/>"); document.write("fixed():" + obj.fixed() + "<br/>"); document.write("fontcolor(red):" + obj.fontcolor("red") + "<br/>"); document.write("fontsize(6):" + obj.fontsize(6) + "<br/>"); document.write("italics()" + obj.italics() + "<br/>"); document.write("link()" + obj.link("https://home.cnblogs.com/u/cyjy/") + "<br/>"); document.write("small()" + obj.small() + "<br/>"); document.write("strike():" + obj.strike() + "<br/>"); document.write("sub():" + obj.sub() + "<br/>"); document.write("sup():" + obj.sup() + "<br/>"); </script>
-
字符串的长度与大小写
length属性是用于获取字符串的长度
toLocaleLowerCase() 把字符串转换为小写。
toLocaleUpperCase() 把字符串转换为大写。
toLowerCase() 把字符串转换为小写。
toUpperCase() 把字符串转换为大写。
<script type ="text/javascript"> var obj = "JavaScript"; var obj2 = new String("程序设计"); document.write("英文测试字符串:" + obj + "<br/>"); document.write("中文测试字符串:" + obj2 + "<br/>"); document.write("英文测试字符串length:" + obj.length + "<br/>"); document.write("中文测试字符串length:" + obj2.length+ "<br/>"); document.write("英文测试字符串小写:" + obj.toLowerCase() + "<br/>"); document.write("英文测试字符串大写:" + obj.toUpperCase() + "<br/>"); </script>
-
获取字符串的指定字符
charAt(index) 返回在指定位置的字符。
charCodeAt(index) 返回在指定的位置的字符的 Unicode 编码。
<script type ="text/javascript"> var obj = "JavaScript"; var obj2 = new String("程序设计"); document.write("英文测试字符串:" + obj + "<br/>"); document.write("中文测试字符串:" + obj2 + "<br/>"); document.write("英文测试字符串.charAt(4):" + obj.charAt(4) + "<br/>"); document.write("英文测试字符串charCodeAt(4):" + obj.charCodeAt(4) + "<br/>"); </script>
-
子字符串的搜索
indexOf(string,index) 检索字符串。返回第一次找到字符串的索引位置,没有找到返回-1,传入的string是要搜索的参数,index为要搜索的索引位置
lastIndexOf(string) 从后向前搜索字符串。
match(string) 找到一个或多个正则表达式的匹配。没有找到返回null
search(string) 检索与正则表达式相匹配的值。
<script type ="text/javascript"> var obj = "JavaScript"; var obj2 = new String("程序设计"); document.write("英文测试字符串indexOf('a'):" + obj.indexOf('a') + "<br/>"); document.write("英文测试字符串indexOf('a',2):" + obj.indexOf('a',2) + "<br/>"); document.write("中文测试字符串.indexOf('程序'):" + obj2.indexOf('程序') + "<br/>"); document.write("英文测试字符串.lastIndexOf('a') :" + obj.lastIndexOf('a') + "<br/>"); document.write("英文测试字符串.match('Java'):" + obj.match('Java') + "<br/>"); document.write("中文测试字符串.match('程序'):" + obj2.match('程序') + "<br/>"); document.write("英文测试字符串.search('Java'):" + obj.search('Java') + "<br/>"); document.write("中文测试字符串.search('学校'):" + obj2.search('学校') + "<br/>"); </script>
-
子字符串的处理
replace(string1,string2) 替换与正则表达式匹配的子串。将string1换成string2
split() 把字符串分割为字符串数组。返回数组对象。
substr(index,length) 从起始索引号提取字符串中指定数目的字符。从index开始取出length个字符串
substring(index1,index2) 提取字符串中两个指定的索引号之间的字符。
concat(string) 连接字符串。将string字符串添加到string对象的字符串之后.
<script type ="text/javascript"> var obj = "JavaScript"; var obj2 = new String("程序设计"); document.write("英文测试字符串:" + obj + "<br/>"); document.write("中文测试字符串:" + obj2 + "<br/>"); document.write("英文测试字符串.replace('Script', '')" + obj.replace('Script', '') + "<br/>"); document.write("中文测试字符串.split('序')" + obj2.split('序') + "<br/>"); document.write("英文测试字符串.substr(2,4)" + obj.substr(2, 4) + "<br/>"); document.write("英文测试字符串obj2.substring(2,5)" + obj2.substring(2, 5) + "<br/>"); </script>
将12/5/2012变为2012-5-12;
var obj = obj.replace(/\//g,"-");
var obj2=obj.replace(/(\d{2})-(\d{1}|\d{2})-(\d{4})/g,'$3-$2-$1');
alert(obj2);
-
JavaScript的Array对象
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
<script type ="text/javascript"> var arr = new Array(1,2,3,4); var arr2 = new Array(3); arr2[0] = "one"; arr2[1] = "two"; arr2[2] = "three"; //用循环显示数组值 for (var i = 0; i <=arr.length; i++) { document.write(arr[i] + "<br/>"); } for (var i = 0; i <3; i++) { document.write(arr2[i] + "<br/>"); } </script>
Array对象的属性与方法
length属性获取数组长度
方法 描述
concat(arry) 连接两个或更多的数组,并返回结果。将参数合并到当前的数组中
join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。
pop() 删除并返回数组的最后一个元素
push() 向数组的末尾添加一个或更多元素,并返回新的长度。
shift() 删除并返回数组的第一个元素
slice() 从某个已有的数组返回选定的元素
splice() 删除元素,并向数组添加新元素。
toSource() 返回该对象的源代码。
toString() 把数组转换为字符串,并返回结果。
reverse() 颠倒数组中元素的顺序。
sort(arry)将数组的所有元素排序
<script type ="text/javascript"> var arr = new Array(1,2,3,4); var arr2 = new Array(3); arr2[0] = "one"; arr2[1] = "two"; arr2[2] = "three"; function showarr(arr) { for (var i = 0; i < arr.length; i++) { document.write(arr[i] + ","); } } document.write("数组长" + arr2.length + "<br/>"); document.write(arr2.join() + "<br/>"); arr2.reverse();//反转数组 document.write("<br/>"); showarr(arr); document.write("<br/>"); arr = arr.concat(arr2);//连接两个数组 showarr(arr); </script>
JavaScript的多维数组
<script type ="text/javascript"> var arr = new Array(3); for (var i = 0; i < 3; i++) { arr[i] = new Array(2); } arr[0][0] = "1"; arr[0][1] = "2"; arr[1][0] = "3"; arr[1][1] = "4"; arr[2][0] = "5"; arr[2][1] = "6"; for (var j= 0; j< arr.length;j++) { for (i = 0; i < arr[i].length; i++) { document.write(arr[j][i]); } document.write("<br/>"); } </script>
-
JavaScript的Date对象
Date对象可以获取计算机的系统时间和日期,并且提供相关的方法将它转化为所需的日期数据。
创建Date对象
var youDate=new Date()
Date 对象会自动把当前日期和时间保存为其初始值。
Date() 返回当日的日期和时间。
getDate() 从 Date 对象返回一个月中的某一天 (1 ~ 31)。
getDay() 从 Date 对象返回一周中的某一天 (0 ~ 6),也就是星期日到星期六。
getMonth() 从 Date 对象返回月份 (0 ~ 11)。
getFullYear() 从 Date 对象以四位数字返回年份。
getYear() 请使用 getFullYear() 方法代替。
getHours() 返回 Date 对象的小时 (0 ~ 23)。
getMinutes() 返回 Date 对象的分钟 (0 ~ 59)。
getSeconds() 返回 Date 对象的秒数 (0 ~ 59)。
getMilliseconds() 返回 Date 对象的毫秒(0 ~ 999)。
getTime() 返回 1970 年 1 月 1 日至今的毫秒数。
<script type ="text/javascript"> var youDate = new Date(); document.write("系统日期:" + youDate.getDate()); document.write("<br/>"); document.write("系统时间:" + youDate.getHours() + ":" + youDate.getMinutes()+":"+youDate.getSeconds()); </script>
设置时间和日期
setDate() 设置 Date 对象中月的某一天 (1 ~ 31)。
setMonth() 设置 Date 对象中月份 (0 ~ 11)。
setFullYear() 设置 Date 对象中的年份(四位数字)。
setYear() 请使用 setFullYear() 方法代替。
setHours() 设置 Date 对象中的小时 (0 ~ 23)。
setMinutes() 设置 Date 对象中的分钟 (0 ~ 59)。
setSeconds() 设置 Date 对象中的秒钟 (0 ~ 59)。
setMilliseconds() 设置 Date 对象中的毫秒 (0 ~ 999)。
setTime() 以毫秒设置 Date 对象。
JavaScript的Date对象可以获取系统时间,只需定时执行JavaScript函数就可以建立一个网页时钟,同时需要使用setTimeout(),参数中可以设置间隔多少时间来执行函数,clearTimeout()可以清除定时器
-
JavaScript的Math对象
Math对象不同于其他JavaScript对象,Math对象是由脚本语言引擎所创建的,不需要使用new来创建。
max(x,y) 返回 x 和 y 中的最高值。
min(x,y) 返回 x 和 y 中的最低值。
pow(x,y) 返回 x 的 y 次幂。
random() 返回 0 ~ 1 之间的随机数。
需要获得更大的随机数乘以相关的倍数就可以了
<script type ="text/javascript"> var num = Math.round(Math.random() * 100); document.write("0~100之间的随机数"+num); </script>
JavaScript的Error对象
try catch finally处理例外。
JavaScript对象的共享属性和方法
属性 constructor属性可以获取创建对象使用的构造函数的函数名称
tostring()方法和value()可以显示对象的内容。