对象拓展

摘要:
数字、字符串和布尔值“看起来像”对象,因为它们都有方法,但它们是不可变的。JavaScript中的对象是可变的键控集合。在JavaScript中,数组是对象,函数是对象,正则表达式是对象。对象是属性的容器,其中每个属性都有一个名称和值。安慰日志;/*Jerome*/控制台。日志;/*SYD*/III:可以通过赋值语句更新更新对象的值。由对象文字创建的所有对象都连接到对象。prototype,这是JavaScript中的标准对象。

JavaScript的简单数据类型包含数字,字符串,布尔值,null和undefined值。其他所有的值都是对象。数字,字符串和布尔值“貌似”对象发,因为他们都拥有方法,但他们是不可变的。JavaScript中的对象是可变的键控集合。在JavaScript中,数组是对象,函数是对象,正则表达式是对象。

对象是属性的容器,其中每个属性都拥有名字和值。属性的名字可以是包括空字符串在内的任意字符串。属性值可以是除undefined值之外的任何值。

一:对象字面量

var empty_object = {};
var stooge = {
    "first-name":"Jerome",
    "last-name":"Howard"
};

对象是可嵌套的。

var flight = {
    airline:"Oceanic",
    number:815,
    departure:{
        IATA:"SYD",
        time:"2017_10_07 08:21",
        city:"Sydney"
    },
    arrival:{
        IATA:"LAX",
        time:"2017_10_08 08:21",
        city:"Los Angeles"
    }
}

二:检索

采用在[]后缀中扩住一个字符串表达式的方式。也可以用.表示法代替。优先考虑.表示法,因为他们更紧凑且可读性好。

console.log(stooge["first-name"]);      /*Jerome*/
console.log(flight.departure.IATA);     /*SYD*/

三:更新

对象的值可以通过赋值语句来更新。

stooge["first-name"] = "David";
console.log(stooge["first-name"]);      /*David*/

四:引用

对象可以通过引用来传递。它们永远不会被复制

var x = stooge;
x.nickname = "curly";
var nick = stooge.nickname;             /*因为x和stooge是指向同一个对象的引用,所以nick为“Curly”*/

五:原型

每个对象都链接到一个原型对象,并且它可以从中获取继承属性。所有通过对象字面量创建的对象都连接到Object.prototype,它是JavaScript中的标配对象。

六:枚举

for-in语句可以用来遍历对象中的所有属性名。该枚举过程将会列出所有的属性-包含函数和你可能不关心的原型中的属性-所以有必要过滤那些你不想要的值。

但是,属性名出现的顺序是不确定的,因此要对任何可能出现的顺序有所准备,最好的办法就是完全避免使用for-in语句,而是创建一个数组,在其中以正确的顺序包含属性名:

var i;
var prototies = [
    'first',
    'middle',
    'last'
];
for(i=0;i<prototies.length;i++){
    console.log(prototies[i])
}

免责声明:文章转载自《对象拓展》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇phpPgAdmin-5.1安装配置pip常见用法汇总下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

echarts使用技巧(一)echarts的图表自适应resize问题、单选、缩放等

因此,当浏览器发生调整大小事件时,让它触发rechart调整大小事件来重新绘制画布。使用窗口。resize=myChart resize;通过将窗口的调整大小事件分配给回声调整大小事件,可以实现自适应。当然,这是单一图表的情况。如果有多个图表,它将无法工作。...

MyBatisPlus使用

简介MyBatis Plus是MyBatis的增强工具。基于MyBatis,只进行了增强而不进行更改。它旨在简化开发并提高效率。...

关于利用RD client远程电脑,和输入法的一些问题

我在寝室,利用转接头,借助手机app“RDclient”成功完成在键盘上输入文字,并在电脑上输出内容。“RDclient”可以完成手机端远程连接电脑端,只需要知道电脑的ip,用户名和密码就可以。“RDclient”这是微软自家发布的软件,还是很不错的。不过,在刚开始连接的时候,输入法遇到一点问题。后来,在手机上,调出输入法打字的界面,更换成英文输入模式,然后...

【转载】SecureCRT配色推荐和永久设置

2.配置文件夹和其他颜色选项==“全局选项==”终端==“外观==”ANSI颜色单击第二行中的第五个色块以修改文件夹颜色:对第二个色块执行相同的操作以修改压缩包和jar包的颜色:如果设置后文件夹和其他的颜色无效,您可以对第二行中设置背景色和字体颜色的颜色块执行相同的操作!...

华为交换机堆叠配置

请参考华为交换机的配置堆栈。[Leaf1-stack-port0/1]portinterfaceg0/0/12启用物理接口12加入堆栈组[Leaf1]stackslot0priority255修改优先级255,默认值为100警告:不要频繁修改优先级,因为它会使堆栈分裂。持续...

浅析前端常见文件下载的9种场景:Blob基础知识/组成/Blob URL、a标签下载、showSaveFilePicker API下载(兼容性差)、FileSaver.js库下载、Zip下载(JSZip库)、附件形式下载(设置Content-Disposition)、base64格式下载(需转为blob)、分块传输下载、HTTP范围请求下载、大文件分块并行下载

它主要涉及九种文件下载场景。在浏览器端文件下载场景中,JavaScript中的blob类型对象表示一个不可变的原始数据类文件对象。在JavaScript中,您可以通过blob构造函数创建blob对象,blob构造函数表示要放入blob的数组内容的MIME类型。行终止符将更改为适合主机操作系统文件系统的新行字符,允许Blob和file对象用作图像的URL源、下...