【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 ...
随机推荐
- mdadm使用详解
★mdadm是multiple devices admin的简称,它是Linux下的一款标准的软件 RAID 管理工具,作者是Neil Brown 我们知道raidtools是Linux下一款经典的用 ...
- Java正则表达式--Matcher.group函数的用法
原来,group是针对()来说的,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西. 最近学习正则表达式,发现Java中的一些术语与其 ...
- 兼容firstChild和firstElementChild
1.nextSibling和nextElementSibling 顾名思义,就是找下一个节点 nextSibling在低版本浏览器中可以顺利找到下一个元素节点,而在正常浏览器中找到的包含中间空格. n ...
- 浅谈android Socket 通信及自建ServerSocket服务端常见问题
摘 要:TCP/IP通信协议是可靠的面向连接的网络协议,它在通信两端各建立一个Socket,从而在两端形成网络虚拟链路,进而应用程序可通过可以通过虚拟链路进行通信.Java对于基于TCP协议的网络通 ...
- linux低权限执行高权限
1.关于sudo不需要输密码,低权限执行高权限,在root下的命令visudo放开%wheel ALL:保存退出, 执行gpasswd -a yourusername wheel 2.脚本命令下的,权 ...
- C++ 采集音频流(PCM裸流)实现录音功能
与上一篇的“C++ 播放音频流(PCM裸流)” 点击打开链接 相对应,本篇是关于用C++实现录音功能的.同样是直接建一个win32控制台程序然后将代码拷过去改个文件名就可以用,也可以下载本人上传的相关 ...
- ipv6nginx错误
400 Bad Request The plain HTTP request was sent to HTTPS port错误参考官方文档解决方法如下: server {listen 80;liste ...
- Jquery操作属性选择器
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 加密中的salt是啥意思
今天在stackoverflow上查看python的md5的问题,提到,除了简单的加密外,还可以加入一点salt 啥意思?百度一下看到:(https://zhidao.baidu.com/questi ...
- #420 Div2 D
#420 Div2 D 题意 给出一个方格矩阵,其中存在亮着的方格,只能在亮着的方格上行走,可以在初始亮的方格上花费一枚硬币临时点亮任意一行或一列,地图上同一时间只能存在一个这样的行或列,问走到终点最 ...