
发表日期: 2021-04-25 13:12:36 浏览次数:125
明港小程序制作【明港企业邮箱】明港网站外包、明港微信商城开发、明港网店美工、明港淘宝设计
明港镇,河南省信阳市平桥区下辖镇,因滨邻明河通衢四海而得名,位于信阳、南阳、驻马店3市,平桥、浉河、正阳、确山、桐柏、泌阳6县(区)接合部,南邻大别山区,北接豫东平原,素有“中原名邑”的美誉。 [1]
明港镇总面积167平方公里,下辖24个村委会、11个居委会,2016年城镇建成区面积为29.4平方公里 [2] 。全镇实现地区生产总值59.89亿元,财政收入1.27亿元。 [2]
明港镇是全国重点镇 [3] 、全国经济发达镇改革试点 [4] 、全国文明村镇 [5] 、全国综合实力千强镇 [6] 、河南省重点镇 [7] 。明港镇交通便利,是中国唯一同时拥有机场、高铁、高速公路出入口的建制镇 [2] 。有城阳城、天目山、皂角树遗址等旅游景点。
Object类型ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和(或)方法,就可以创建自定义对象,如下所示:
var o = new Object();复制代码
这个语法与Java中创建对象的语法相似;但在ECMAScript中,如果不给构造函数传递参数,则可以省略后面的那一对圆括号。也就是说,在像前面这个示例一样不传递参数的情况下,完全可以省略那对圆括号(但这不是推荐的做法):
var o = new Object; // 有效,但不推荐省略圆括号复制代码
仅仅创建Object的实例并没有什么用处,但关键是要理解一个重要的思想:即在ECMAScript中,(就像Java中的java.lang.Object对象一样)Object类型是所有它的实例的基础。换句话说,Object类型所具有的任何属性和方法也同样存在于更具体的对象中。
Object的每个实例都具有下列属性和方法。
Constructor:保存着用于创建当前对象的函数。对于前面的例子而言,构造函数(constructor)就是Object()。
hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName)必须以字符串形式指定(例如:o.hasOwnProperty("name"))。
isPrototypeOf(object):用于检查传入的对象是否是另一个对象的原型(第5章将讨论原型)。
propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句(本章后面将会讨论)来枚举。与hasOwnProperty()方法一样,作为参数的属性名必须以字符串形式指定。
toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。
toString():返回对象的字符串表示。
valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值
相同。
由于在ECMAScript中Object是所有对象的基础,因此所有对象都具有这些基本的属性和方法。第5章和第6章将详细介绍Object与其他对象的关系。
从技术角度讲,ECMA-262中对象的行为不一定适用于JavaScript中的其他对象。浏览器环境中的对象,比如BOM和DOM中的对象,都属于宿主对象,因为它们是由宿主实现提供和定义的。ECMA-262不负责定义宿主对象,因此宿主对象可能会也可能不会继承
Object。
ECMA-262描述了一组用于操作数据值的操作符,包括算术操作符(如加号和减号)、位操作符、关系操作符和相等操作符。ECMAScript操作符的与众不同之处在于,它们能够适用于很多值,例如字符串、数字值、布尔值,甚至对象。不过,在应用于对象时,相应的操作符通常都会调用对象的valueOf()和(或)toString()方法,以便取得可以操作的值。
只能操作一个值的操作符叫做一元操作符。一元操作符是ECMAScript中最简单的操作符。
1. 递增和递减操作符
递增和递减操作符直接借鉴自C,而且各有两个版本:前置型和后置型。顾名思义,前置型应该位于要操作的变量之前,而后置型则应该位于要操作的变量之后。因此,在使用前置递增操作符给一个数值加1时,要把两个加号(++)放在这个数值变量前面,如下所示:
var age = 29;++age;复制代码
在这个例子中,前置递增操作符把age的值变成了30(为29加上了1)。实际上,执行这个前置递增操作与执行以下操作的效果相同:
var age = 29;age = age + 1;复制代码
执行前置递减操作的方法也类似,结果会从一个数值中减去1。使用前置递减操作符时,要把两个减号(--)放在相应变量的前面,如下所示:
var age = 29;--age;复制代码
这样,age变量的值就减少为28(从29中减去了1)。
执行前置递增和递减操作时,变量的值都是在语句被求值以前改变的。(在计算机科学领域,这种情况通常被称作副效应。)请看下面这个例子。
![]()
var age = 29;var anotherAge = --age + 2;alert(age); // 输出28alert(anotherAge); // 输出30复制代码
IncrementDecrementExample01.htm
这个例子中变量anotherAge的初始值等于变量age的值前置递减之后加2。由于先执行了减法操作,age的值变成了28,所以再加上2的结果就是30。
由于前置递增和递减操作与执行语句的优先级相等,因此整个语句会从左至右被求值。再看一个例子:
![]()
var num1 = 2;var num2 = 20;var num3 = --num1 + num2; // 等于21var num4 = num1 + num2; // 等于21复制代码
IncrementDecrementExample02.htm
在这里,num3之所以等于21是因为num1先减去了1才与num2相加。而变量num4也等于21是因为相应的加法操作使用了num1减去1之后的值。
后置型递增和递减操作符的语法不变(仍然分别是++和--),只不过要放在变量的后面而不是前面。后置递增和递减与前置递增和递减有一个非常重要的区别,即递增和递减操作是在包含它们的语句被求值之后才执行的。这个区别在某些情况下不是什么问题,例如:
var age = 29;age++;复制代码
把递增操作符放在变量后面并不会改变语句的结果,因为递增是这条语句的唯一操作。但是,当语句中还包含其他操作时,上述区别就会非常明显了。请看下面的例子:
var num1 = 2;var num2 = 20;var num3 = num1-- + num2; // 等于22var num4 = num1 + num2; // 等于21复制代码
IncrementDecrementExample03.htm
这里仅仅将前置递减改成了后置递减,就立即可以看到差别。在前面使用前置递减的例子中,num3和num4最后都等于21。而在这个例子中,num3等于22,num4等于21。差别的根源在于,这里在计算num3时使用了num1的原始值(2)完成了加法计算,而num4则使用了递减后的值(1)。
所有这4个操作符对任何值都适用,也就是它们不仅适用于整数,还可以用于字符串、布尔值、浮点数值和对象。在应用于不同的值时,递增和递减操作符遵循下列规则。
在应用于一个包含有效数字字符的字符串时,先将其转换为数字值,再执行加减1的操作。字符串变量变成数值变量。
在应用于一个不包含有效数字字符的字符串时,将变量的值设置为NaN(第4章将详细讨论)。字符串变量变成数值变量。
在应用于布尔值false时,先将其转换为0再执行加减1的操作。布尔值变量变成数值变量。
在应用于布尔值true时,先将其转换为1再执行加减1的操作。布尔值变量变成数值变量。
在应用于浮点数值时,执行加减1的操作。
在应用于对象时,先调用对象的valueOf()方法(第5章将详细讨论)以取得一个可供操作的值。然后对该值应用前述规则。如果结果是NaN,则在调用toString()方法后再应用前述规则。对象变量变成数值变量。
以下示例展示了上面的一些规则:
![]()
var s1 = "2";var s2 = "z";var b = false;var f = 1.1;var o = {
valueOf: function() {
return -1;
}};s1++; // 值变成数值3s2++; // 值变成NaNb++; // 值变成数值1f--; // 值变成0.10000000000000009(由于浮点舍入错误所致)o--; // 值变成数值-2复制代码IncrementDecrementExample04.htm
2. 一元加和减操作符
绝大多数开发人员对一元加和减操作符都不会陌生,而且这两个ECMAScript操作符的作用与数学书上讲的完全一样。一元加操作符以一个加号(+)表示,放在数值前面,对数值不会产生任何影响,如下面的例子所示:
var num = 25;num = +num; // 仍然是25复制代码
不过,在对非数值应用一元加操作符时,该操作符会像Number()转型函数一样对这个值执行转换。换句话说,布尔值false和true将被转换为0和1,字符串值会被按照一组特殊的规则进行解析,而对象是先调用它们的valueOf()和(或)toString()方法,再转换得到的值。
下面的例子展示了对不同数据类型应用一元加操作符的结果:
![]()
var s1 = "01";var s2 = "1.1";var s3 = "z";var b = false;var f = 1.1;var o = {
valueOf: function() {
return -1;
}};s1 = +s1; // 值变成数值1s2 = +s2; // 值变成数值1.1s3 = +s3; // 值变成NaNb = +b; // 值变成数值0f = +f; // 值未变,仍然是1.1o = +o; // 值变成数值-1复制代码UnaryPlusMinusExample01.htm
一元减操作符主要用于表示负数,例如将1转换成-1。下面的例子演示了这个简单的转换过程:
var num = 25;num = -num; // 变成了-25复制代码
在将一元减操作符应用于数值时,该值会变成负数(如上面的例子所示)。而当应用于非数值时,一元减操作符遵循与一元加操作符相同的规则,最后再将得到的数值转换为负数,如下面的例子所示:
var s1 = "01";var s2 = "1.1";var s3 = "z";var b = false;var f = 1.1;var o = {
valueOf: function() {
return -1;
}};s1 = -s1; // 值变成了数值-1s2 = -s2; // 值变成了数值-1.1s3 = -s3; // 值变成了NaNb = -b; // 值变成了数值0f = -f; // 变成了-1.1o = -o; // 值变成了数值1复制代码UnaryPlusMinusExample02.htm
一元加和减操作符主要用于基本的算术运算,也可以像前面示例所展示的一样用于转换数据类型。

服务热线
顶部
备案号: 苏ICP备11067224号
CopyRight © 2011 书生商友信息科技 All Right Reserved
24小时服务热线:400-111-6878 E-MAIL:1120768800@qq.com QQ:1120768800
网址: http://www.768800.com 网站建设:上往建站
关键词: 网站建设| 域名邮箱| 服务器空间| 网站推广| 上往建站| 网站制作| 网站设计| 域名注册| 网络营销| 网站维护|
企业邮箱| 虚拟主机| 网络建站| 网站服务| 网页设计| 网店美工设计| 网站定制| 企业建站| 网站设计制作| 网页制作公司|
400电话办理| 书生商友软件| 葬花网| 调温纤维| 海洋馆运营维护| 北京保安公司| 殡仪馆服务| 殡葬服务| 苏州殡葬一条龙| 朝阳殡葬| 苏州殡葬服务|
欢迎您免费咨询,请填写以下信息,我们收到后会尽快与您联系
服务热线:400-111-6878