javascript类型系统之object详解_javascript技巧

javascript类型系统之object详解_javascript技巧

ID:30768853

大小:66.50 KB

页数:5页

时间:2019-01-03

javascript类型系统之object详解_javascript技巧_第1页
javascript类型系统之object详解_javascript技巧_第2页
javascript类型系统之object详解_javascript技巧_第3页
javascript类型系统之object详解_javascript技巧_第4页
javascript类型系统之object详解_javascript技巧_第5页
资源描述:

《javascript类型系统之object详解_javascript技巧》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、JavaScript类型系统之Object详解前面的话在javascript对象为王;Javascript里的几乎所有东西都是对象或者用起來像对象。理解了对象,就理解了Jeivascripto在javascript中,弓I用类型是一种数据结构,用于将数据和功能组织在一起,它也常被称为类。引用类型冇时也被称为对象定义,因为它们描述的是一类对象所具冇的屈性和方法大部分引用类型的值都是Object类型的实例;而且‘Object也是javascript屮使用最多的一个类型。虽然Object实例不具备多少功能,但对于在应用程序中存储和传输数据,它们确实是非

2、常理想的选择创建对象有两种Object类型的创建方法[l]Object构造函数varperson二newObject();//如果不给构造函数传递参数可以不加括号varperson=newObject;person,name='bai";person,age二29;//创建无属性的空对象varcodyl=newObject();varcody2=newObject(undefined);varcody3=newObject(null);console.log(typeofcodyl,typeofcody2,typeofcody3);//objec

3、tobjectobject//创建string、number、arrayxfunction、boolean、regexconsole,log(newObjectCfoo,));console,log(newObject(1));console,log(newObject([]));console.log(newObject(function(){}));console.log(newObject(true));console,log(newObject(/bbt[a~z]+b/));[注意]Object()构造函数本身就是对彖,构造函数是基于

4、Function构造函数创建的对彖[2]使用对象字面量Javascript捉供了叫做字而量的快捷方式,用丁•创建大多数原生对象值。使用字面量只是隐藏了与使用new操作符相同的基本过程varperson二{name:'bai",age:29,5:true[注意]在对象字面量中使用逗号來分隔不同的属性,但是在最后一个属性后面添加逗号,会在IE7-导致错误使用对象字面量的方法来定义对象,属性名会自动转换成字符串〃同上varperson={name:bai,'age,:29,'5,:true};如果留空其花括号,则口J以定义只包含默认属性和方法的对象//

5、等价于varperson=newObject();varperson二{};[tips]使用对象字面量封装多个可选参数functiondisplayInfo(args){varoutput=八;if(typeofargs,name=='string"){output+二'name:'+args,name+'‘;}if(typeofargs,age=='number,){output+二'Age:'+args,age+,,;}console,log(output);};displayInfo({name:'Nicholas',age:29}

6、);displaylnfo({name:'match'});以上这种传递参数的模式最适合需耍向函数传入大量可选参数的情况。-•般來说,虽然命名参数容易处理,但有多个可选参数时就会不够灵活。I大I此,对于必须值使用形参,而使用对彖字而量来封装多个可选参数设置对象有两种访问对彖属性的方法,可以用点表示法或中描号表示法获取、设置或更新对象的属性中括号法的两个优点分别是可以通过变量來访问属性、属性名称可以为Javascript无效标识符[注意]变量屮可以存在屮文,因为屮文相当于字符,与英文字符同样对待,因此可以写成person.口或personf口’]v

7、armyObject二{123:,zcro,,class:'foo'};console,log(myObjectf123,],myObjectfclass,]);//'zero,'foo,console,log(myObject.123);//报错方括号小的值若是非字符串类型会使用String()隐式转换成字符串再输岀;如果是字符串类型,若有引号则原值输出,否则会被识别为变量,若变量未定义,则报错person[0]二1;//[]中的数字不会报错,而是自动转换成字符串person[a]=1;//□中符合变量命名规则的元素会被当成变量,变量未被定义,

8、而报错person]'']=2;//□中的空字符串不会报错,是实际存在的且可以调用,但不会在控制台右侧的集合屮显示person[unde

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。