为了账号安全,请及时绑定邮箱和手机立即绑定

javascript中的对象

标签:
AngularJS


JavaScript 对象

JavaScript 中的所有事物都是对象:字符串、数值、数组、函数...等等。

此外,JavaScript 允许自定义对象。

JavaScript 提供多个内建对象,比如 String、Date、Array 等等。 对象只是带有 "属性" 和 "方法" 的特殊数据类型。

布尔型可以是一个对象。

数字型可以是一个对象。

字符串也可以是一个对象。

日期是一个对象。

数学和正则表达式也是对象。

数组是一个对象。

甚至函数也可以是对象。

对象只是一种特殊的数据。对象拥有 "属性" 和 "方法"。

访问对象的属性:

属性是与对象相关的值。

访问对象属性的语法是:objectName(对象名称).(属性名称)propertyName

这个例子使用了 String 对象的 length 属性来获得字符串的长度:

[var message="Hello World!";

var x=message.length;

在以上代码执行后,x 的值将是:

12]

创建 JavaScript 对象:

通过 JavaScript,您能够定义并创建自己的对象。

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

定义并创建对象的实例。

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

使用对象构造器。

在JavaScript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时)。

把属性添加到 JavaScript 对象:

您可以通过为对象赋值,向已有对象添加新属性。

把方法添加到 JavaScript 对象:

方法只不过是附加在对象上的函数。

::::::::::::::::::::::::::::::::::::

JavaScript 类:

JavaScript 是面向对象的语言,但 JavaScript 不使用类。

在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。

JavaScript 基于 prototype(原型)的,而不是基于类的。

JavaScript for...in 循环:

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

语法:

for (variable(变量) in object)

{

执行的代码……

}

注意: for...in 循环中的代码块将针对每个属性执行一次。

:::::::::::::::::::::::::::::::::::::::::::::::::::::::

JavaScript (Number) 对象

JavaScript 只有一种数字类型,可以使用也可以不使用小数点来书写数字。

JavaScript 数字可以使用也可以不使用小数点来书写。

极大或极小的数字可通过科学(指数 "e")计数法来写。

所有 JavaScript 数字均为 64 位

JavaScript 不是类型语言。与许多其他编程语言不同,JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。

数字不分为整数类型和浮点型类型,所有的数字都是由浮点型类型。采用IEEE754标准定义的64位浮点格式表示数字,它能表示最大值为±1.7976931348623157 x 10308,最小值为±5 x 10 -324。

精度:

整数(不使用小数点或指数计数法)最多为 15 位。

小数的最大位数是 17,但是浮点运算并不总是 100% 准确。

八进制和十六进制:

如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。 绝不要在数字前面写零,除非您需要进行八进制转换。 

默认情况下,JavaScript 数字为十进制显示,但是你可以使用 toString() 方法 输出16进制、8进制、2进制。

无穷大(Infinity):

当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地,当负数的值超过了JavaScript所能表示的负数范围,结果为负无穷大,在JavaScript中以-Infinity表示。无穷大值的行为特性和我们所期望的是一致的:基于它们的加、减、乘和除运算结果还是无穷大(当然还保留它们的正负号)。

NaN - 非数字值:

NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。

你可以使用 isNaN() 全局函数来判断一个值是否是 NaN 值。除以0是无穷大,无穷大是一个数字,所以返回false。

数字可以是数字或者对象:

数字可以私有数据进行初始化,就像 x = 123;

JavaScript 数字对象初始化数据, var y = new Number(123)。

数字属性:

MAX_VALUE

MIN_VALUE

NEGATIVE_INFINITY

POSITIVE_INFINITY

NaN

prototype

constructor

数字方法:

toExponential()

toFixed()

toPrecision()

toString()

valueOf()

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

JavaScript 字符串(String) 对象

String 对象用于处理已有的字符块。

一个字符串用于存储一系列字符就像 "John Doe"。

一个字符串可以使用单引号或双引号。

你使用位置(索引)可以访问字符串中任何的字符,字符串的索引从零开始, 所以字符串第一字符为 [0],第二个字符为 [1], 等等。

你可以在字符串中使用转义字符()使用引号。

字符串(String)使用长度属性length来计算字符串的长度。

字符串使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置,如果没找到对应的字符函数返回-1。

lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。

内容匹配:

match()函数用来查找字符串中特定的字符,并且如果找到的话,则返回这个字符。

替换内容:

replace() 方法在字符串中用某些字符替换另一些字符。

字符串大小写转换:

字符串大小写转换使用函数 (大写)toUpperCase() 还有 (小写)toLowerCase()。

字符串转为数组:

字符串使用split()函数转为数组。

特殊字符:

Javascript 中可以使用反斜线(\)插入特殊符号,如:撇号,引号等其他特殊符号,在JavaScript中,字符串的开始和停止使用单引号或双引号。

反斜线转义特殊字符:

\' 单引号

\" 双引号

\ 斜杆

\n 换行

\r 回车

\t tab

\b 空格

\f 换页

字符串属性和方法:

属性:

length

prototype

constructor

方法:

charAt()

charCodeAt()

concat()

fromCharCode()

indexOf()

lastIndexOf()

match()

replace()

search()

slice()

split()

substr()

substring()

toLowerCase()

toUpperCase()

valueOf()

::::::::::::::::::::::::::::::::::::::::::::::::::::::::

JavaScript Date(日期) 对象

日期对象用于处理日期和时间。

Date(),使用Date()获取当日的日期。

getFullYear(),使用 getFullYear() 获取年份。

getTime(),getTime() 返回从 1970 年 1 月 1 日至今的毫秒数。

setFullYear(),使用 setFullYear() 设置具体的日期。记住 JavaScript 月数是从0至11。10是11月。

toUTCString(),使用 toUTCString() 将当日的日期(根据 UTC)转换为字符串。

getDay(),使用 getDay() 和数组来显示星期,而不仅仅是数字。

Display a clock,在网页上显示一个钟表。

getHours(),获取当前小时数。

getMinutes(),获取当前分数。

getSeconds(),获取当前秒数。

Date 对象用于处理日期和时间, 可以通过 new 关键词来定义 Date 对象。

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

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"];

访问数组:

通过指定数组名以及索引号码,你可以访问某个特定的元素。

[0] 是数组的第一个元素。[1] 是数组的第二个元素,以此类推。

在一个数组中你可以有不同的对象:

所有的JavaScript变量都是对象。数组元素是对象。函数是对象。

因此,你可以在数组中有不同的变量类型。

你可以在一个数组中包含对象元素、函数、数组:

myArray[0]=Date.now;

myArray[1]=myFunction;

myArray[2]=myCars;

数组方法和属性:

使用数组对象预定义属性和方法:

var x=myCars.length // myCars 中元素的数量。

var y=myCars.indexOf("Volvo") // "Volvo" 值的索引值。

原型是JavaScript全局构造函数。它可以构建新Javascript对象的属性和方法。

concat(),合并数组。

join(),数组的元素组成字符串输出。

shift(),删除数组的第一个元素 。

pop(),删除数组的最后一个元素 。

unshift(),在数组的开头添加新元素 。

push(),数组的末尾添加新的元素。

reverse(),将数组中的元素的顺序反转排序 。

slice(),从一个数组中选择元素 。

sort(),数组排序(按字母顺序升序)。

toString(),数组转换到字符串。

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

JavaScript Boolean(布尔) 对象

Boolean(布尔)对象用于将非布尔值转换为布尔值(true 或者 false),检查布尔对象是 true 还是 false。

Boolean 对象代表两个值:"true" 或者 "false"。

下面的代码定义了一个名为 myBoolean 的布尔对象:

var myBoolean=new Boolean();

如果布尔对象无初始值或者其值为:

0

-0

null

""

false

undefined

NaN

那么对象的值为 false。否则,其值为 true(即使当变量值为字符串 "false" 时)。

JavaScript Math(算数) 对象 

Math(算数)对象的作用是:执行常见的算数任务。

Math.round(),四舍五入。

random(),使用 random() 来返回 0 到 1 之间的随机数。

max(),使用 max() 来返回两个给定的数中的较大的数,(在 ECMASCript v3 之前,该方法只有两个参数)。

min(),使用 min() 来返回两个给定的数中的较小的数, (在 ECMASCript v3 之前,该方法只有两个参数)。

Math 对象:

Math(算数)对象的作用是:执行普通的算数任务。

Math 对象提供多种算数值类型和函数。注意:无需在使用这个对象之前对它进行定义。

算数值:

JavaScript 提供 8 种可被 Math 对象访问的算数值,常量使用方法:

Math.E

Math.PI

Math.SQRT2

Math.SQRT1_2

Math.LN2

Math.LN10

Math.LOG2E

Math.LOG10E

算数方法:

除了可被 Math 对象访问的算数值以外,还有几个函数(方法)可以使用。

下面的例子使用了 Math 对象的 round 方法对一个数进行四舍五入。

document.write(Math.round(4.7));

上面的代码输出为:5

下面的例子使用了 Math 对象的 random() 方法来返回一个介于 0 和 1 之间的随机数:

document.write(Math.random());

上面的代码输出为:随机的0.6287247786957237

下面的例子使用了 Math 对象的 floor() 方法和 random() 来返回一个介于 0 和 11 之间的随机数:

document.write(Math.floor(Math.random()*11));

上面的代码输出为:随机的5

JavaScript RegExp(正则表达式) 对象,RegExp:是正则表达式(regular expression)的简写。

什么是 RegExp?:

正则表达式描述了字符的模式对象。

当您检索某个文本时,可以使用一种模式来描述要检索的内容。RegExp 就是这种模式。

简单的模式可以是一个单独的字符。

更复杂的模式包括了更多的字符,并可用于解析、格式检查、替换等等。

您可以规定字符串中的检索位置,以及要检索的字符类型,等等。

语法:

var patt=new RegExp(pattern,modifiers);

或更简单的方法

var patt=/pattern/modifiers;

模式描述了一个表达式模型。

http://www.iis7.com/a/lm/gjcpmcx/

修饰符(modifiers)描述了检索是否是全局,区分大小写等。

注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 \)。

RegExp 修饰符:

修饰符用于执行不区分大小写和全文的搜索。

i - 修饰符是用来执行不区分大小写的匹配。

g - 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)。

gi,全文查找和不区分大小写搜索。

test(),test()方法搜索字符串指定的值,根据结果并返回真或假。

exec(),exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。

©著作权归作者所有:来自51CTO博客作者wx5b83bfb2a52d1的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消