文档章节

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
java对象占内存大小分配的初步认识

问题1? java的对象引用占用多少个字节? 问题2? null值占几个字节,boolen值占几个字节? 问题3?对象占用字节大小如何计算? 如下结论都是基于32位系统下,参考资料: http://wenku.baidu...

thinkerfans
2013/01/03
0
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

没有更多内容

加载失败,请刷新页面

加载更多

下一页

设计模式:简单工厂模式(静态共产方法模式)

简单工厂的构成包括三个角色: 1)抽象产品类 2)具体产品类(继承抽闲产品类) 3)工厂类(生产具体产品) 具体代码实现 1、抽象产品类 /** * 抽象类 */public abstract class Car ...

京一
7分钟前
0
0
Lombok使用

1 介绍 Lombok是一个简单的Java库,改工具可以通过注解自动地提供一些方法,简化开发。比如编写POJO时需要为每个属性提供getter()方法和setter()方法,这就可以使用Lombok实现。 2 配置 Lomb...

SuperHeroes
15分钟前
0
0
Confluence 6 删除垃圾内容

属性(profile)垃圾 属性垃圾的定义为,一个垃圾用户在 Confluence 创建了用户,但是这个用户在自己的属性页面中添加了垃圾 URL。 如果你有很多垃圾用户在你的系统中创建了属性,你可以使用...

honeymose
17分钟前
0
0
java虚拟机之内存模型

1. 概述 对于从事 C、C++ 程序开发的人员来说,在内存管理领域,他们既是拥有最高权力的「皇帝」又是从事基础工作的「劳动人民」 --- 既拥有每个对象的「所有权」,又担负着每一个对象生命开...

firepation
20分钟前
0
0
解决linux的-bash: ./xx: Permission denied

解决linux的-bash: ./xx: Permission denied 在linux下执行sh文件时提示下面信息: -bash: ./xx.sh: Permission denied解决:chmod 777 xx.sh 1 2 3 4 Linux chmod +755和chmod +777 ......

DemonsI
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部