FastDFS 分布式的文件存储环境搭建
一般只需要改动以下几个参数
按上面配置完成后,即可使用代码上传文件!
此时重启服务器后,部分服务则因为没有启动而上传文件失败!
因此需要添加开机启动!
1、JavaScript是基于对象的语言,在JavaScript中,一切都可以被称为对象,包括字符串、数字、布尔型、HTML
Element等。这些JavaScript中已有的对象称为内置对象,而用户自己定义的对象叫做自定义对象
。自定义对象是数据和函数(也叫方法)的集合。
2、这里要特别提醒的是,JavaScript虽然也是一门基于对象的语言,但是它实现对象的方式与Java或者C++有很大的区别。比如Java中类、对象与JavaScript中的类、对象就不是一个意思。
本关任务:创建你的第一个JavaScript对象。
任务是补全右侧代码片段中begin至end中间的代码,具体要求如下:
本关涉及的代码文件CreateObject.js的代码框架如下:
像字符串、数组等已经定义的对象叫做内置对象
。用户自己也可以定义对象,叫做自定义对象。本实训讲的对象特指自定义对象,自定义对象指数据和函数(又叫方法)的集合
。数据指变量名和变量的值构成的组合。如下图所示:
下面介绍五种创建对象的方法,其中通过对象字面量和使用构造函数创建对象最常用。
通过关键字new创建对象
通过上面的代码,我们就能创建一个名为Store的对象。
这样就创建了一个名为store1
的对象,注意这个对象除了属性之外还有一个方法display
。要创建更多的类似store1的对象,直接调用该函数即可。
上面的代码首先是Store
对象的构造函数,然后用该构造函数创建了Store对象的一个实例myStore。
prototype
属性,这个属性的值是一个对象,这个对象被称为该函数的原型对象
。也可以叫做原型。
[[Prototype]]
,该属性的值就是上面提到的原型对象。如下图所示:
JavaScript中每个对象都有一个属性[[Prototype]],指向它的原型对象,该原型对象又具有一个自己的[[Prototype]],层层向上直到一个对象的原型为null。根据定义,null 没有原型,并作为这个原型链中的最后一个环节。如下图所示:
这种方法的好处是,创建一个新的对象时,可以更改部分属性的值。
Luma Restaurant
以前的财务人员在统计销售额的时候不小心把数据弄错了,现在的财务人员想通过一个JavaScript函数方便的修改数据,并署上自己的名字,请你帮助她完成这个任务吧!
本关任务:根据本小结内容,完成JavaScript对象属性值的获取和修改。
JavaScript是动态类型
的语言,JavaScript中对象的属性具有增删改查所有的操作。
这种情况下属性名必须是静态的字符串
,即不能是通过计算或者字符串的拼接形成的字符串。
[""]
符号,符号的左边是对象的名字,双引号中间是属性的名字,这种情况下属性名可以是一个表达式,只要表达式的值是一个字符串即可。如下:
有两种情况必须使用第二种方式:
需要注意的是,对象只能删除自己特有的属性,而不能删除继承自原型对象的属性。同时,对象在删除属性时,要防止删除被其他对象继承的属性,因为这样会导致程序出错。
本关的编程任务是补全右侧代码片段中begin至end中间的代码,具体要求如下:
具体请参见后续测试样例。
调用其中的mainJs()方法,并输入若干组测试数据;
接着根据测试的输出判断程序是否正确。
在JavaScript编程实践中,如果我们调用别人的接口,常常需要了解实体是否具有某个属性。
这里的属性名是字符串,必须用双引号包含在内。
hasOwnProperty()
检测对象是否具有某个自有属性或方法。
所谓自有属性或者方法,是指对象自己定义的属性或者方法,而不是从原型链上继承来的。
在继续下面的知识点之前,首先要知道一个概念:
系统内置的对象的属性默认为不可枚举
for...in...循环;
可以枚举所有可枚举的属性,包括继承的属性。如下:
圆括号里面的表达式中,att表示对象的属性,school表示该对象,这个循环将依次遍历对象的所有可枚举属性,每次输出一个属性的值。
括号中有一个参数,是要枚举的对象。该表达式将返回对象的所有自有属性的名字,不区分是否可枚举,结果以字符串数组的形式呈现,如下:
如果用上面的for…in…循环,range属性是不能够枚举到的。
括号中有一个参数,是要枚举的对象。该表达式返回可枚举的自有属性,以字符串数组的形式。所以这里对属性的要求更加严格,既要求是自有属性,又要求可枚举。
总结一下上面三个方法对属性是否自有,是否可枚举的要求: