JavaScript对象

来源:互联网 发布:单片机可靠性 编辑:程序博客网 时间:2024/06/16 11:32

JS对象

JavaScript中的所有事物都是对象:字符串、数值、数组、函数…
此外,JavaScript允许自定义对象。

创建JavaScript对象

创建新对象有两种不同的方法:

  • 创建直接的实例。
  • 使用函数来定义对象,然后创建新的对象实例。

创建直接的实例

下面这个例子创建了对象的一个新实例,并向其添加了四个属性:

person = new Object();      // 创建一个直接对象person.firstname="Bill";person.lastname="Gates";person.age=56;person.eyecolor="blue";

替代语法(使用对象 literals):

person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};


使用函数定义对象

上面例子的等价语法为:

function person(firstname,lastname,age,eyecolor){    this.firstname=firstname;    this.lastname=lastname;    this.age=age;    this.eyecolor=eyecolor;}var myFather = new person("Bill","Gates",56,"blue");    // 创建一个函数对象


JavaScript类

JavaScript是面向对象的语言,但JavaScript不使用类。
在JavaScript中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。
JavaScript基于prototype,而不是基于类的

for…in循环

JavaScript for…in 语句循环遍历对象的属性

var person = {fname:"Bill",lname:"Gates",age:56};for (x in person){  txt = txt + person[x];}


Number对象

JavaScript不是类型语言。与许多其他编程语言不同,JavaScript不定义不同类型的数字,比如整数、短、长、浮点等等。
JavaScript中的所有数字都存储为64位的浮点数。
整数(不使用小数点或指数计数法)最多为 15 位。
小数的最大位数是 17,但是浮点运算并不总是 100% 准确:


浮点数范围:

as  large  as ±1.7976931348623157 × 10308次方(Number.MAX_VALUE)as small as ±5 × 10的−324次方(Number.MIN_VALUE)

参考链接


精确整数范围:
The JavaScript number format allows you to exactly represent all integers between
−9007199254740992 and 9007199254740992 (即正负2的53次方)


数组索引还有位操作:
正负2的31次方

String对象

为字符串添加样式

<!DOCTYPE html><html><body><script type="text/javascript">var txt="Hello World!"<!-- 粗体、斜体 -->document.write("<p>Bold: " + txt.bold() + "</p>")document.write("<p>Italic: " + txt.italics() + "</p>")<!-- 改变字体颜色、大小-->document.write("<p>Fontcolor: " + txt.fontcolor("Red") + "</p>")document.write("<p>Fontsize: " + txt.fontsize(16) + "</p>")<!-- 转换大小写 -->document.write("<p>Lowercase: " + txt.toLowerCase() + "</p>")document.write("<p>Uppercase: " + txt.toUpperCase() + "</p>")<!-- 上下标 -->document.write("<p>Subscript: " + txt.sub() + "</p>")document.write("<p>Superscript: " + txt.sup() + "</p>")<!-- 添加链接 -->document.write("<p>Link: " + txt.link("http://www.w3school.com.cn") + "</p>")</script></body></html>


match方法

如果在字符串中找到,则返回特定的字符;如果找不到,则返回null。

<!DOCTYPE html><html><body><script type="text/javascript">var str="Hello world!"<!-- 输出world -->document.write(str.match("world") + "<br />")<!-- 输出world! -->document.write(str.match("world!"))<!-- 输出null-->document.write(str.match("worlld") + "<br />")</script></body></html>


Date对象

获取当前日期和时间(Date())

<!DOCTYPE html><html><body><script type="text/javascript">document.write(Date())</script></body></html>


获取从1970年1月1日至今的毫秒数(getTime())

<!DOCTYPE html><html><body><script type="text/javascript">var d = new Date(); <!-- 先创建一个Date对象 -->document.write("从 1970/01/01 至今已过去 " + d.getTime() + " 毫秒");</script></body></html>


获取今天是星期几(getDay())

<!DOCTYPE html><html><body><script type="text/javascript">var d = new Date()var weekday = new Array(7)weekday[0]="星期日"weekday[1]="星期一"weekday[2]="星期二"weekday[3]="星期三"weekday[4]="星期四"weekday[5]="星期五"weekday[6]="星期六"document.write("今天是" + weekday[d.getDay()])</script></body></html>


设置年月日(setFullYear())

<!DOCTYPE html><html><body><script type="text/javascript">var d = new Date()d.setFullYear(1992,10,3)    <!-- 月份设置为11月 !!! -->document.write(d)</script></body></html>

注意:表示月份的参数介于0到11之间。也就是说,如果希望把月设置为11月,则参数应该是10。

比较两个日期(>, <)

var myDate=new Date();myDate.setFullYear(2008,8,9);var today = new Date();if (myDate > today){    alert("Today is before 9th August 2008");}else{    alert("Today is after 9th August 2008");}


Array对象

for…in循环数组

<!DOCTYPE html><html><body><script type="text/javascript">var xvar mycars = new Array()mycars[0] = "Saab"mycars[1] = "Volvo"mycars[2] = "BMW"for (x in mycars){    document.write(mycars[x] + "<br />")}</script></body></html>


合并两个数组(oncat())

<!DOCTYPE html><html><body><script type="text/javascript">var arr = new Array(3)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"var arr2 = new Array(3)arr2[0] = "James"arr2[1] = "Adrew"arr2[2] = "Martin"<!-- 输出"George,John,Thomas,James,Adrew,Martin" -->document.write(arr.concat(arr2))</script></body></html>


将数组元素组成一个字符串(join())

<!DOCTYPE html><html><body><script type="text/javascript">var arr = new Array(3);arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"<!-- 输出"George,John,Thomas" -->document.write(arr.join());<!-- 输出"George-00-John-00-Thomas" -->document.write(arr.join("-00-"));</script></body></html>


字符串排序(sort())

<!DOCTYPE html><html><body><script type="text/javascript">var arr = new Array(6)arr[0] = "George"arr[1] = "John"arr[2] = "Thomas"arr[3] = "James"arr[4] = "Adrew"arr[5] = "Martin"<!-- 输出"Adrew,George,James,John,Martin,Thomas" -->document.write(arr.sort())</script></body></html>


字符值排序(sort(compareFun))

<!DOCTYPE html><html><body><script type="text/javascript">function sortNumber(a, b){    return a - b}var arr = new Array(6)arr[0] = "10"arr[1] = "5"arr[2] = "40"arr[3] = "25"arr[4] = "1000"arr[5] = "1"<!-- 输出"1,5,10,25,40,1000" -->document.write(arr.sort(sortNumber))</script></body></html>


Math对象

Match.round()

<!DOCTYPE html><html><body><script type="text/javascript"><!-- 输出 1 -->document.write(Math.round(0.50) + "<br />")<!-- 输出 0 -->document.write(Math.round(0.49) + "<br />")<!-- 输出 -4 -->document.write(Math.round(-4.40) + "<br />")<!-- 输出 -5 -->document.write(Math.round(-4.60))</script></body></html>


Math.random()

random()返回0到1之间的随机数。

<!DOCTYPE html><html><body><script type="text/javascript">document.write(Math.random())</script></body></html>


算数值

JavaScript 提供 8 种可被 Math 对象访问的算数值:

值 定义 常数 Math.E 圆周率 Math.PI 2 的平方根 Math.SQRT2 1/2 的平方根 Math.SQRT1_2 2 的自然对数 Math.LN2 10 的自然对数 Math.LN10 以 2 为底的 e 的对数 Math.LOG2E 以 10 为底的 e 的对数 Math.LOG10E


RegExp对象

RegExp是正则表达式的缩写。
当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp就是这种模式。
RegExp对象有3个方法:test()、exec() 以及 compile()。

test方法

test()方法检索字符串中的指定值。返回值是true或false。

<!DOCTYPE html><html><body><script type="text/javascript">var patt1 = new RegExp("e");document.write(patt1.test("The best things in life are free"));   <!-- 输出true --></script></body></html>


exec方法

exec()方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回null。
您可以向RegExp对象添加第二个参数,以设定检索。例如,如果需要找到所有某个字符的所有存在,则可以使用 “g” 参数 (“global”)。

<!DOCTYPE html><html><body><script type="text/javascript">var patt1=new RegExp("e","g");  <!-- 进行全局搜索"g" -->do{    result = patt1.exec("The best things in life are free");    document.write(result);     <!-- 输出eeeeeenull -->}while (result!=null)</script></body></html>


compile方法

compile()方法用于改变RegExp。
compile()既可以改变检索模式,也可以添加或删除第二个参数。

<!DOCTYPE html><html><body><script type="text/javascript">var patt1=new RegExp("e");document.write(patt1.test("The best things in life are free"));     <!-- 输出true -->patt1.compile("d");                                                 <!-- 改变RegExp -->document.write(patt1.test("The best things in life are free"));     <!-- 输出false --></script></body></html>


更多请参考:W3School

0 0
原创粉丝点击