【Javascript 基础】对象
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 基础】对象的更多相关文章
- 在TypeScript中扩展JavaScript基础对象的功能
最近工作中用到,记录一下:假设我们需要一个功能,把一个数字比如10000输出为下面的字符串格式“10,000”,一般是写一个方法,那么我希望更方便一点,直接向Number类型添加一个格式化方法,比如叫 ...
- JavaScript基础-对象<2>
2.浏览器环境提供对象 (1) document对象 doucument对象属性: title:文本标题.doucument.title="Welcome"; lastModifi ...
- JavaScript基础-对象<1>
1.JavaScript内部对象属性和方法 (1)内置String对象 String 对象是JavaScript的核心对象之一. 创建一个sting对象: var a="this defin ...
- JavaScript基础对象---Number
一.创建Number实例对象 /** * new Number(value); * value 被创建对象的数字值 * * Number 对象主要用于: 如果参数无法被转换为数字,则返回 NaN. 在 ...
- JavaScript基础对象创建模式之单体/单例模式(Singleton)
首先,单例模式是对象的创建模式之一,此外还包括工厂模式.单例模式的三个特点: 1,该类只有一个实例 2,该类自行创建该实例(在该类内部创建自身的实例对象) 3,向整个系统公开这个实例接口 Java中大 ...
- JavaScript基础对象创建模式之链式调用模式(Chaining Pattern)(029)
链式调用模式允许一个接一个地调用对象的方法.这种模式不考虑保存函数的返回值,所以整个调用可以在同一行内完成: myobj.method1("hello").method2().me ...
- JavaScript基础对象创建模式之对象的常量(028)
虽然许多编程语言提供了const关键字来支持常量的声明,但JavaScript里没有表示常量的语义.我们可以用全大写的方式来声明变量,表明它实际上是个常量: Math.PI; // 3.1415926 ...
- JavaScript基础对象创建模式之静态成员(027)
在支持“类”的面向对象语言中,静态成员指的是那些所有实例对象共有的类成员.静态成员实际是是“类”的成员,而非“对象”的成员.所以如果 MathUtils类中有个叫 max()的静态成员方法,那么调用这 ...
- JavaScript基础对象创建模式之模块模式(Module Pattern)(025)
模块模式可以提供软件架构,为不断增长的代码提供组织形式.JavaScript没有提供package的语言表示,但我们可以通过模块模式来分解并组织 代码块,这些黑盒的代码块内的功能可以根据不断变化的软件 ...
- JavaScript基础对象创建模式之私有属性和方法(024)
JavaScript没有特殊的语法来表示对象的私有属性和方法,默认的情况下,所有的属性和方法都是公有的.如下面用字面声明的对象: var myobj = { myprop: 1, getProp: f ...
随机推荐
- java io 网络编程 高性能NIO
很久没写了,一是觉得这后台不怎么方便,二是 写的时候突然觉得没兴趣了. 还好,今天突然想记一下,那就随便写吧. 1.一开始还是放几个连接. 什么是 同步,异步,阻塞,非阻塞 : http://bl ...
- query的list()和iterate()区别 面试题
query的list()和iterate()区别 1.返回的类型不一样,list返回List,iterate返回iterator 2.查询策略不同. 获取数据的方式不一样,list会直接查询数据库,i ...
- 解决_CRT_SECURE_NO_WARNINGS 警告
问题:我们在程序中使用fopen等CRT函数,就会出现一些警告信息,很烦人,如下: 1>e:/project/htt/ishow/functions.cpp(156) : warning C49 ...
- 数据库函数:sqlite3_exec() SQL语句
函数:sqlite3_exec(),称为便捷函数,封装了好多任务. 函数声明: int sqlite3_exec( sqlite * , const char * sql , sqlite_c ...
- C#中一些关键字和罕见类
1.@ 在处理字符串时,那些个字符串转义字符我们可以使用这个,那@就是为解决这个而诞生的,直接让字符串原样输出有木有?什么sql字符串了,还有路径啥了的,统统搞定 string sql = @&quo ...
- 【linux高级程序设计】(第十五章)UDP网络编程应用 3
UDP组播通信 组播IP地址: D类IP地址 1110.********** 224.0.0.1 ~ 239.255.255.255 组播MAC地址:低23位,直接对应IP地址, 从右数第24位为 ...
- python3正则表达式符号和用法
- RobotFramework自动化4-批量操作案例【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 有时候一个页面上有多个对象需要操作,如果一个个去定 ...
- hdu 5124(区间更新+单点求值+离散化)
lines Time Limit: 5000/2500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- selenium IE自动化问题汇总
驱动下载:http://selenium-release.storage.googleapis.com/index.html 没有修改IE的保护模式设置导致,通常看到报错信息如下: selenium. ...