1 创建对象

Javascript 支持对象的概率。有多种方法可以用来创建对象。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Javascript Object </title>
</head>
<body>
<script>
var myData = new Object();
myData.name = "Luka";
myData.weather = "sunny"; document.writeln("Hello "+myData.name+".");
document.writeln("Today is "+myData.weather+".")
</script>
</body>
</html>

输出结果:

Hello Luka. Today is sunny. 

1.1 使用对象字面量

用对象字面向量的方式可以一口气定义一个对象及其属性。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Javascript Object </title>
</head>
<body>
<script>
var myData = {
name:"Luka",
weather:"sunny"
}; document.writeln("Hello "+myData.name+".");
document.writeln("Today is "+myData.weather+".")
</script>
</body>
</html>

1.2 将函数用作方法

对象可以添加属性,也能添加函数。属于一个对象的函数称为其方法。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Javascript Object </title>
</head>
<body>
<script>
var myData = {
name:"Luka",
weather:"sunny",
printMessage:function(){
document.writeln("Hello "+this.name+".");
document.writeln("Today is "+this.weather+"."
)
}

}; myData.printMessage();
</script>
</body>
</html>

2 使用对象

创建对象后,可以用来做许多事。

2.1 读取和修改属性值

对象最显而易见的操作是读取或修改属性值

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Javascript Object </title>
</head>
<body>
<script>
var myData = {
name:"Luka",
weather:"sunny"
}; myData.name="Joe";
myData["weather"]="raining"
; document.writeln("Hello "+myData.name+".");
document.writeln("It is "+myData["weather"]+".");
</script>
</body>
</html>

输出结果:

Hello Joe. It is raining. 

2.2 枚举对象

要枚举对象属性可以使用 for...in 语句。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Javascript Object </title>
</head>
<body>
<script>
var myData = {
name:"Luka",
weather:"sunny",
printMessages:function(){
document.writeln("Hello "+this.name+". ");
document.writeln("Today is "+this.weather+".");
}
}; for(var prop in myData){
document.writeln("Name: "+prop+" Value: "+myData[prop]+"<br />");
}
</script>
</body>
</html>

显示结果:

Name:name Value:Luka
Name:weather Value:sunny
Name:printMessages Value:function (){ document.writeln("Hello "+this.name+". "); document.writeln("Today is "+this.weather+"."); }

2.3 增删属性和方法

就算是用对象字面量生成的对象,也可以为其定义新属性。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Javascript Object </title>
</head>
<body>
<script>
var myData = {
name:"Luka",
weather:"sunny"
}; //为对象添加新属性
myData.dayOfWeek = "Monday"; //为对象添加新方法
myData.sayHello = function(){
document.writeln("Hello");
}; //对象的属性和方法可以用 delete 关键字删除
delete myData.name;
delete myData["weather"];
delete myData.sayHello;
</script>
</body>
</html>

2.4 判断对象是否具有某个属性

可以用 in 表达式判断对象是否具有某个对象。

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Javascript Object </title>
</head>
<body>
<script>
var myData = {
name:"Luka",
weather:"sunny"
}; var hasName = "name" in myData;
var hasDate = "date" in
myData; document.writeln("HasName: "+hasName+"<br />");
document.writeln("HasDate: "+hasDate);
</script>
</body>
</html>

输出结果:

HasName: true
HasDate: false

【Javascript 基础】对象的更多相关文章

  1. 在TypeScript中扩展JavaScript基础对象的功能

    最近工作中用到,记录一下:假设我们需要一个功能,把一个数字比如10000输出为下面的字符串格式“10,000”,一般是写一个方法,那么我希望更方便一点,直接向Number类型添加一个格式化方法,比如叫 ...

  2. JavaScript基础-对象<2>

    2.浏览器环境提供对象 (1) document对象 doucument对象属性: title:文本标题.doucument.title="Welcome"; lastModifi ...

  3. JavaScript基础-对象<1>

    1.JavaScript内部对象属性和方法 (1)内置String对象 String 对象是JavaScript的核心对象之一. 创建一个sting对象: var a="this defin ...

  4. JavaScript基础对象---Number

    一.创建Number实例对象 /** * new Number(value); * value 被创建对象的数字值 * * Number 对象主要用于: 如果参数无法被转换为数字,则返回 NaN. 在 ...

  5. JavaScript基础对象创建模式之单体/单例模式(Singleton)

    首先,单例模式是对象的创建模式之一,此外还包括工厂模式.单例模式的三个特点: 1,该类只有一个实例 2,该类自行创建该实例(在该类内部创建自身的实例对象) 3,向整个系统公开这个实例接口 Java中大 ...

  6. JavaScript基础对象创建模式之链式调用模式(Chaining Pattern)(029)

    链式调用模式允许一个接一个地调用对象的方法.这种模式不考虑保存函数的返回值,所以整个调用可以在同一行内完成: myobj.method1("hello").method2().me ...

  7. JavaScript基础对象创建模式之对象的常量(028)

    虽然许多编程语言提供了const关键字来支持常量的声明,但JavaScript里没有表示常量的语义.我们可以用全大写的方式来声明变量,表明它实际上是个常量: Math.PI; // 3.1415926 ...

  8. JavaScript基础对象创建模式之静态成员(027)

    在支持“类”的面向对象语言中,静态成员指的是那些所有实例对象共有的类成员.静态成员实际是是“类”的成员,而非“对象”的成员.所以如果 MathUtils类中有个叫 max()的静态成员方法,那么调用这 ...

  9. JavaScript基础对象创建模式之模块模式(Module Pattern)(025)

    模块模式可以提供软件架构,为不断增长的代码提供组织形式.JavaScript没有提供package的语言表示,但我们可以通过模块模式来分解并组织 代码块,这些黑盒的代码块内的功能可以根据不断变化的软件 ...

  10. JavaScript基础对象创建模式之私有属性和方法(024)

    JavaScript没有特殊的语法来表示对象的私有属性和方法,默认的情况下,所有的属性和方法都是公有的.如下面用字面声明的对象: var myobj = { myprop: 1, getProp: f ...

随机推荐

  1. 图表绘制工具--Matplotlib 1

    ''' [课程3.] Matplotlib简介及图表窗口 Matplotlib → 一个python版的matlab绘图接口,以2D为主,支持python.numpy.pandas基本数据结构,运营高 ...

  2. 搜索水题四连发_C++

    特别声明:以下题目有部分为原创题,涉及版权问题,不得转载,违者追究 法律责任! 话说这是一套神题,只有你想不到,没有你做不到 题目更正后比 Pascal 跑得还快哈~ 一道特别裸,但是特别坑的搜索题 ...

  3. OI 知识体系

    OI Training 知识体系结构 初级 1.1 C语言基础 1.1.1 C语言程序结构(A+B Problem) 1.1.2 变量,常量,数据类型,输入与输出 1.1.3 条件语句 1.1.4 循 ...

  4. Linux Mint---安装docky

    这个安装的时候没啥难度,直接在软件中心安装一下就可以了,效果很赞的,linux下最棒的dock, 简洁大方,效果好! 只不有过一点需要注意,这个东东直接很上拖是添加不上去的 需要从/usr/share ...

  5. 货车运输(LCA+最大生成树)

    神奇传送门 恩,这是一道神奇的LCA+难度的题目. 题目是这样的: A 国有n座城市,编号从1到n,城市之间有 m条双向道路.每一条道路对车辆都有重量限制,简称限重.现在有 q辆货车在运输货物,司机们 ...

  6. PHP开发

    php.ini error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_CORE_WARNING & ~E_NOT ...

  7. windows技术

    鼠标右键菜单中没有新建文本文件怎么办? http://jingyan.baidu.com/article/046a7b3e1d737bf9c27fa9f7.html

  8. [Oracle] DataGuard switchover

    Oracle DataGuard switchover 2013/07/11 Tag.Data Guard,primary,standby,switchover 切换前primary site和sta ...

  9. 记录常见的HTTP请求错误

    服务器提交了协议冲突. Section=ResponseHeader Detail=CR 后面必须是 LF 解决方案:winfrom 在app.config种添加 web 在 web.config种添 ...

  10. inotify+rsync实现实时同步并邮件通知

    服务器之间文件实时同步,监控文件的变化,发送邮件通知,并实时同步文件. 由于人工同步多台服务器的文件比较吃力,可以借助这样一套软件,自动化的实现这样的工作. 并且可以事实监控变化发送邮件给系统管理人员 ...