文档章节

6_引用类型(【三】object)

1217528969
 1217528969
发布于 2015/03/02 14:24
字数 452
阅读 17
收藏 0

    我们目前为止大多数引用类型都是Object类型的实例,Object也是ECMAScript中使用最多的一种类型(就像java.lang.Object一样,Object类型是所有它的实例的基础)。
Object类型的创建方式、使用

//object实例的定义方式
var obj = new Object();
var obj = {}; //实例化对象
obj.name = "z3";
obj.age = 20;
obj.sex = "男";
obj["birthday"] = "1980-08-07";
obj.say = function(){
    console.info("Hello World!");
};

//访问对象的属性和方法
console.info(obj.name);
console.info(obj.age);
console.info(obj.say);
alert(obj.say);
obj.say(); 

//delete操作符 删除对象的属性和方法
delete obj.age;
delete obj.say;

console.info(obj.name);
console.info(obj.age);
console.info(obj.say);
alert(obj.say);
obj.say();  //此处会报错, TypeError: obj.say is not a function

对于Object类型应用for in 枚举循环

//遍历一个js对象,使用for in语句
for(var attr in obj){
    console.info(attr + " --> " + obj[attr]);
}

Object每个实例都会具有下列属性和方法:
Constructor: 保存着用于创建当前对象的函数

//Constructor保存对象的创建函数
alert(obj.constructor);
var arr = [];
alert(arr.constructor);

hasOwnProperty(propertyName):用于检测给定的属性在当前对象实例中(而不是原型中)是否存在。

//hasOwnProperty(propertyName) 检测给定的属性在对象中是否存在
console.info(obj.hasOwnProperty("name")); //true
console.info(obj.hasOwnProperty("aaa")); //false

isPrototypeOf(Object): 用于检查传入的对象是否是另外一个对象的原型。

//isPrototypeOf(Object)  检测原型
console.info(Object.prototype.isPrototypeOf(obj));

propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。

//propertyIsEnumerable(propertyName)检测给定的属性是否能被for in枚举出来
console.info(obj.propertyIsEnumerable("name"));

toLocaleString():返回对象的字符串表示。该字符串与执行环境的地区对应.
toString():返回对象的字符串表示。
valueOf():返回对象的字符串、数值或布尔表示

console.info(obj.valueOf());
console.info(obj.toLocaleString());
console.info(obj.toString());

© 著作权归作者所有

共有 人打赏支持
1217528969
粉丝 1
博文 27
码字总数 14810
作品 0
济南
私信 提问
前端 - JS - 笔记摘要

一、JS对象 var obj = {};// 初始化一个JS对象 obj.test = function(options){ //添加方法 //TODO something } obj.a = 5;//添加属性 js本来就是动态的,它可以给任何对象在任何时候添加属性...

Elivense
2016/11/16
8
0
C#中==、Equals、ReferenceEquals的区别是什么

一、== 运算符 1、静态相等符号,对应存在的!=,这个符号是一个可以重载的二元操作符,可以用于比较两个对象是否相等。 2、它会根据需要自动进行必要的类型转换,并根据两个对象的值是否相等返...

学习也休闲
2016/04/05
52
0
值类型和引用类型

值类型(变量直接包含数据) 简单类型 枚举 结构 引用类型(变量包含对存储对象的引用) 类 接口 委托 数组 这两者类型有什么区别呢?很简单。值类型是直接包含了变量的具体值,引用类型包含...

彭博
2012/03/09
25
0
java引用-强软弱虚-避免OOM

Java 如何有效地避免OOM:善于利用软引用和弱引用   想必很多朋友对OOM(OutOfMemory)这个错误不会陌生,而当遇到这种错误如何有效地解决这个问题呢?今天我们就来说一下如何利用软引用和...

liujiest
2016/08/17
96
0
JavaScript创建对象方式总结

今天阅读了JavaScript高级程序设计的第6章,关于对象创建的方式,这里做下总结,巩固下知识 JavaScript创建对象的五种方式: 一、通过字面量或Object构造函数创建 1、示例: 2、优点:简单灵...

kolbe
2016/05/30
185
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud Consul综合整理

部分资料来自 该项目通过自动配置和Spring环境以及其他Spring编程模型习惯用法提供了Spring Boot应用程序的Consul集成。 通过一些简单的注释,您可以快速启用和配置应用程序内的通用模式,并...

Gm_ning
3分钟前
0
0
Springboot 2.0 - 集成redis

最近在入门SpringBoot,然后在感慨 SpringBoot较于Spring真的方便多时,顺便记录下自己在集成redis时的一些想法。 从springboot官网查看redis的依赖包 <dependency>           ...

别打我会飞
4分钟前
0
0
支付宝APP支付申请配置过程详解

第一步:你需要申请一个支付宝商家账户账号,登陆之后进入产品中心,进行APP支付产品接入,填写相关资料,等待审核。 第二步:进行APP支付申请信息完善 第三步:进入蚂蚁金服开放平台进行开发...

Code辉
8分钟前
0
0
避免过度同步(67)

过度使用同步会导致性能低下、死锁或其他不确定问题 在一个同步方法或代码块中,不要放弃对客户端的控制 即:在一个同步区域内部,不要调用被覆盖方法,或者是传入对象提供的方法 这些外来方...

Java搬砖工程师
8分钟前
0
0
Java获取文件类型/扩展名

import java.io.IOException;import java.io.InputStream;import java.net.URL;import java.util.HashMap;import java.util.Map;public class FileTypeUtils { private fi......

Hzhodor
12分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部