JavaScript 对象

        JavaScript中的所有事物都是对象:字符串、数值、数组、函数等,也允许JavaScript自定义对象。
        JavaScript提供多个内建对象,比如 String、Date、Array 等。对象只是带有属性和方法的特殊数据类型。
访问对象的属性
objectName.propertyName
访问对象的方法
方法是能够在对象上执行的动作。调用方法的语法:objectName.methodName()
例如:

//使用了 String 对象的 toUpperCase() 方法来将文本转换为大写
var message="Hello world!";
var x=message.toUpperCase();```
**创建javaScript**
创建新对象有两种不同的方法:
- 定义并创建对象的实例
- 使用函数来定义对象,然后创建新的对象实例

定义并创建对象的实例:

person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";```

也可以写成以下这样:

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

也可以使用对象构造器创建:

<html>
<body>

<script>
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}
myFather=new person("Bill","Gates",56,"blue");
document.write(myFather.firstname + " is " + myFather.age + " years old.");
</script>
</body>
</html>```
**JavaScript 类**
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;`JavaScript` 是面向对象的语言,但 `JavaScript` 不使用类。在 `JavaScript `中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。`JavaScript` 基于 `prototype`,而不是基于类的。
**JavaScript for...in 循环**
`JavaScript for...in `语句循环遍历对象的属性。

for (对象中的变量)
{
要执行的代码
}```
for...in 循环中的代码块将针对每个属性执行一次

//执行属性fname、lname、age
var person={fname:"Bill",lname:"Gates",age:56};

for (x in person)
  {
  txt=txt + person[x];
  }```
**javaScript数字**
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;所有` JavaScript `数字均为 64 位,`JavaScript `不是类型语言。与许多其他编程语言不同,`JavaScript `不定义不同类型的数字,比如整数、短、长、浮点等。`JavaScript `中的所有数字都存储为根为 10 的 64 位(8 比特),浮点数。
- 八进制和十六进制

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 "x",则解释为十六进制数。
**数字属性和方法**
属性:

MAX VALUE//最大值
MIN VALUE//最小值
NEGATIVE INFINITIVE//负无穷大,溢出时返回该值
POSITIVE INFINITIVE// 正无穷大,溢出时返回该值
NaN//非数字值
prototype//向对象添加属性和方法
constructor// 返回对创建此对象的 Number 函数的引用```
方法:

toExponential()//把对象的值转换为指数计数法
toFixed()// 把数字转换为字符串,结果是小数点后有指定位数的数字
toPrecision()//[n](http://www.w3school.com.cn/jsref/jsref_toprecision.asp)
把数字格式化为指定的长度
toString()//    把数字转换为字符串,使用指定的基数
valueOf()// 返回一个 Number 对象的基本数字值```

**JavaScript 字符串(String)对象**

//使用字符串对象的长度属性来计算字符串的长度。
var txt="Hello world!"
document.write(txt.length)```

使用字符串对象的toUpperCase()方法将字符串转换为大写:
var txt="Hello world!"
document.write(txt.toUpperCase())```
// 使用replace() 方法在字符串中用某些字符替换另一些字符。
<script type="text/javascript">
var str="Hello Microsoft!"
document.write(str.replace(/Microsoft/,"World"))
</script>
//将会输出“Hello World"

        还有很多方法,比如:indexOf()可以定义字符串某一个字符首次出现的位置。match()可以查找字符串中特定的字符,如果找到的话,返回这个字符。
JavaScript Date(日期)对象
属性

constructor//返回对创建此对象的 Date 函数的引用。
prototype   //向对象添加属性和方法。```
方法:

Date()//返回当日的日期和时间
getDate()//从 Date 对象返回一个月中的某一天 (1 ~ 31)
getHours()//返回 Date 对象的小时 (0 ~ 23)
getTime()//返回 1970 年 1 月 1 日至今的毫秒数。

上面列举的都是常见的,还有很多没有提及到的,请点击[日期对象](http://www.w3school.com.cn/jsref/jsref_obj_date.asp)
**JavaScript Array(数组)对象**
`Array `对象用于在单个的变量中存储多个值。
创建 `Array` 对象的语法:

new Array();
new Array(size);// size 是期望的数组元素个数。返回的数组,length 字段将被设为
size 的值
new Array(element0, element1, ..., elementn);//element ..., elementn 是参数
列表。当使用这些参数来调用构造函数 Array() 时,新创建的数组的元素就会被初始化为这
些值。它的 length 字段也会被设置为参数的个数```
返回值

  • 返回新创建并被初始化了的数组。
  • 如果调用构造函数 Array() 时没有使用参数,那么返回的数组为空,length字段为 0。
  • 当调用构造函数时只传递给它一个数字参数,该构造函数将返回具有指定个数、元素为undefined的数组。
  • 当其他参数调用Array() 时,该构造函数将用参数指定的值初始化数组。
  • 当把构造函数作为函数调用,不使用 new 运算符时,它的行为与使用 new运算符调用它时的行为完全一样。

属性 :

constructor//返回对创建此对象的数组函数的引用
length//设置或返回数组中元素的数目
prototype   //向对象添加属性和方法```
方法:

concat() //连接两个或更多的数组,并返回结果
push()//向数组的末尾添加一个或更多元素,并返回新的长度
reverse() //颠倒数组中元素的顺序
toString() //把数组转换为字符串,并返回结果```
上面列举的都是常见的,还有很多没有提及到的,请点击数组对象

JavaScript Boolean(逻辑)对象

Boolean(逻辑)对象用于将非逻辑值转换为逻辑值(true 或者 false)。
使用关键字new来定义。
属性:

constructor//返回对创建此对象的 Boolean 函数的引用
prototype   //向对象添加属性和方法。
Boolean 对象方法```
方法:

toSource()//返回该对象的源代码。
toString() //把逻辑值转换为字符串,并返回结果。
valueOf() //返回 Boolean 对象的原始值。```

JavaScript Math(算数)对象

执行常见的算数任务。
常见方法:

abs(x)//返回数的绝对值
random()    //返回 0 ~ 1 之间的随机数
round(x)//把数四舍五入为最接近的整数```
Math对象属性还有一些方法一般不常用,详细使用方法请参考[Math对象](http://www.w3school.com.cn/jsref/jsref_obj_math.asp)
###JavaScript RegExp(正则表达式) 对象
用于规定在文本中检索的内容。new 关键词来定义 RegExp 对象。
方法:
- `test()` 检索字符串中的指定值。返回值是 true 或 false
- `exec()` 方索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null
- `compile()` 既可以改变检索模式,也可以添加或删除第二个参数
完整正则表达式对象请点击[正则表达式](http://www.w3school.com.cn/jsref/jsref_obj_regexp.asp)





最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容