类型的运营商在JavaScript赋值操作符
转让的主要运营商是等号( = ) 。 左运算是一个变量,数组元素,或者是一个对象财产的权利和操作或者文字或其他变量,数组元素,或对象的财产。 指定一个变量的值可以与任何数量的不同组合的变量,数组的内容,对象属性和文字。 以下提供了一个思想的一系列任务: 阿尔法= 77 ; 阿尔法= ( fishSize.length / 2 ) ; 阿尔法= (试用版“伽玛) ; 复合算子运营商,其中包括转让和一个行动复合经营。 这些运营商的工作作为简称转让另加运作。 例如: 叶bankAccount + =利息; 等同于书面 叶bankAccount = bankAccount +利息; 除此外,复合运营商在JavaScript中包括减转让( -= ) ,乘以转让( *= ) ,分配鸿沟( / = ) ,并指派模( % = ) 。 例如,下面的脚本使用模复合赋值操作符: <html> 的<head> <script language="JavaScript"> 叶螺栓= 150 ,很多= 60 ; 螺栓% =很多; 文件撰写( “奇很多= ” +螺栓) ; “ /脚本” “ /头” <body bgcolor="lightslategray"> “ /体重” “ /的HTML ” 实例说明两个行动可以合并为一个单一的一个。 变量分为螺栓的价值变数很多 ,其余的(模)是分配给变量螺栓。 这将是一样的写本: 叶螺栓螺栓% =很多; 然而,而不采取两项行动,一个没有欺骗的转让和运作。 比较运算符也许大多数地区在JavaScript中的错误与运营商的困惑(或只是忘了)之间的差额转让运营商和运营商比较。 转让经营的价值等同于同一个变量,数组元素,或对象的财产。 比较运营商产生一个布尔值。 例如,下面的脚本返回一个虚假的布尔值: <html> <script language="JavaScript"> 叶错= ( 6 == 7 ) 文件撰写(错误) ; “ /脚本” <body bgcolor="lightslategray"> “ /体重” “ /的HTML ” 比较运算符是双等号( = = ) ,以及经营者的转让是等于( = )的迹象。 最常见的问题是一个标准的条件语句的开发类型是: 如果( α =试用版) ( .... 错 他的意思时,输入此: 如果( α ==测试) ( .... 权 在调试过程中,第一个事情是寻找安置转让经营者在经营者的平等应。 其他比较运算符包括不等于( ! = )小于“ ( < ) ,大于( ” ) ,小于或等于“ ( < = )和大于或等于( ” = ) 。 一样的平等经营,这些比较运算符有两个作用。 一个作用是有条件的声明,另一种是充当布尔文字定义为前面的例子表明。 下面的脚本显示了如何变量可以界定,以便他们能够包含布尔文字,然后用一部分有条件的声明,而无需使用比较运算符: <html>
<script language="JavaScript">
无功字母= 25 ;
无功测试= 35 ;
变种的zeta = ( α “ =测试版) ;
如果(泽塔) (
叶西格马= “这是真的。 ”
其他) (
叶西格马= “这是不正确的。 ” ;
)
文件撰写(西格马) ;
“ /脚本”
<body bgcolor="lightslategray">
“ /体重”
“ /的HTML ” 在剧本中, 字母的变量是比较要小于或等于“ ( < = ) 测试的定义中的zeta 。 由于阿尔法不到试用版,可变的zeta包含一个布尔值的事实。 在有条件的声明,没有比较运营商正在使用,因为变数试用版已经是一个布尔值。 由于是真正的价值,它符合条件负荷的可变西格马的消息说: “这是真的。 ” 严格平等运营商JavaScript 1.3技术了严格的平等和不平等的运营商。 这些运营商测试都平等的价值和平等的类型。 换句话说,如果这两个值分别为23 ,但一个变量是一个字符串和其他是一个数字,你可能认为他们将是不平等的反正。 考虑以下脚本: <html> <script language="JavaScript"> 叶currentWord = “ 75 ” ; 叶currentNumber = 75 ; 无功的结果= ( currentWord == currentNumber ) ; 文件撰写(结果) ; “ /脚本” <body bgcolor="lightsalmon"> “ /体重” “ /的HTML ” 您可能会惊讶地发现,变的结果是真的! 其理由是, JavaScript的尝试很难解决数字和字符串的分歧。 请记住,如果你定义一个变量如下,结果是一个字符串,即使线混合数字和字符串文字: 变种混合= “ $ ” + 12.33 ; 同样的JavaScript时,比较两个变量在一个是数量和是一个字符串。 如果“价值”被认为是相同的,即使是一个字符串,另一种是数量, JavaScript的有益使他们平等地,因为被认为在过去的脚本。 然而,如果您有在两个应用的价值和类型的数据是很重要的比较,你不能使这种比较标准的比较运算符。 要修复这一问题, JavaScript 1.3技术了严格的平等( === )和不平等( ! == )运营商。 这些运营商看不仅的价值,而且在类型的变量。 在过去的剧本,改变这一行: 无功的结果= ( currentWord == currentNumber ) ; 至 无功的结果= ( currentWord === currentNumber ) ; 然后保存该脚本并运行程序。 在第二个版本的剧本,结果改变错误的。 虽然数字是相同的,该数据类型是不同的。 要获得真正的成果,改变路线如下: 无功的结果= ( currentWord ! == currentNumber ) ; 双方的Netscape Navigator 4.7和Internet Explorer 5及以后认识到严格的平等和不平等的运营商。 (第4版的Netscape Navigator中需要的语言= JavaScript1.2在<script>标记 ,但在更高版本的浏览器,所有你需要的是语言= JavaScript的 。 ) 算术运算符基本算子在JavaScript中是相当不言自明,除了少数例外。 为了避免少数恶化从这些例外情况外,每家营办商讨论,重点放在用途。 新增和串连( + )一个算术运营商,有两个不同的用途是增加( + ) 。 首先,新增增加值运营商在数学作业。 其次,它concatenates (同)字符串或字符串和其他文字。 数学除了是相当简单,但没有串连。 当添加操作同一个字符串和一个数字,它concatenates他们的数量转换成一个字符串。 例如,下面的脚本加入琴弦与nonstring文字: <html> 的<head> 的<title>购买和串连“ /标题” <script language="JavaScript"> 叶布尔= 22 “ 90 ; 叶弦= “ 250 ” ; 叶numnum = 88 ; 叶BooleNum =布尔+ numnum ; 叶BooleString =布尔+串; 叶StringNum =字符串+ numnum ; 无功第一部分= “布尔值的<b> ” +布尔+ “ ” / b “加号” + numnum + “ = ” + 减和否定( - )减号 ( - )有两个非常不同的用途。 首先,在算术运算,该减的经营减去第二个操作从第一。 因此,这条线的地方的价值7变量字母 : 无功字母= 10-3 ; 其次,作为一种元运算符,减号一个积极的变化值为负值。 此外,如果是消极的价值减去一个积极的价值,结果是一样的增加两个正面的价值观。 下面的脚本使用说明都否定和一元减法的减号 ( - )签署作为一个经营者。 例如,尝试了以下脚本,看看是否能够确定的时间提前何种结果将是: <html> 的<head> 的<title>减号和消极的价值观“ /标题” <script language="JavaScript"> 叶posVal = 44 ; 叶negVal = - posVal ; 叶diffVal = ( posVal - negVal ) ; 文件撰写( diffVal ) ; “ /脚本” “ /头” <body bgcolor="papayawhip"> “ /体重” “ /的HTML ” 如果你猜到的输出在屏幕上的将是88 ,你是正确的。 积极的价值变posVal是44 。 变数negVal是创建的一元否定posVal 。 当negVal减去posVal ,效果是新增的两个值。 (就像在文法,双负创建一个积极的。 ) 乘( * )乘法操作很简单,它成倍增加两个数字。 然而,如果您尝试乘载两串数字字符, JavaScript的企图改变成数字串,并完成繁殖。 例如,尝试下面的脚本: <html> 的<head> 的<title>乘数字串“ /标题” <script language="JavaScript"> 叶stringNum = “ 5 ” ; 叶stringNum2 = “ 20 ” ; 叶mulEm = stringNum * stringNum2 ; 文件撰写( mulEm ) ; “ /脚本” “ /头” <body bgcolor="peru"> “ /体重” “ /的HTML ” 输出到屏幕上会100人。 因此,乘法运算符( * )实际上可以某些字符串转换成数字,以及乘号码。 鸿沟( / )如同乘运营商,运营商的鸿沟( / )与数字。 在行动中,左边操作分为操作的权利。 此外,像乘运营商,运营商的鸿沟企图将字符串转换成一个号码。 该地区最分工不同的其他行动是在鸿沟的零误差。 两种不同类型的返回结果。 鸿沟零了一些其他大于0的结果无限 ,而零除以零回报叠氮化钠 。 下面的脚本演示如何回报这两种类型的鸿沟零错误。 此外,该脚本显示了如何使用内置的职能isFinite ( )和isNaN ( )来测试和南河无限的价值。 在无限的isFinite ( )函数必须使用否定的!运营商。 对于设计师的重要性,知道何时鸿沟,例如零发生如此,您可以随时从您的程式崩溃。 一个家,装饰网站,例如,有一个模块,计算的数额的油漆涂料所需的房间。 加仑的油漆覆盖三五零平方英尺。 因此,在某处计算器,设计师必须有一个公式,划分了350平方英尺的房间被画。 假设观众忘了输入值为平方英尺的会议室和脚本企图瓜分350 0 。 而不是向观众陷入了混乱的告诉她,她已购买无限多加仑的油漆,可以捕捉到除以零错误和发送任何消息,你想,因为下面的脚本说明: <html> 的<head> 的<title>除以零错误“ /标题” <script language="JavaScript"> 叶leftOperand = 77 ; 叶rightOperand = 20 “ 30 ; 叶divEm = leftOperand / rightOperand ; 叶滩= 0 / 0 ; 文件撰写( divEm + “ <p> ” +滩) ; 如果( ! isFinite ( divEm ) ) ( 警戒( “哇!多德说\ '山大一些! ” ) ) 如果( isNaN (滩) ) ( 警戒( “你是什么分裂了什么。 ” ) ) “ /脚本” “ /头” <body bgcolor="springgreen"> “ /体重” “ /的HTML ” 模( % )该模( % )运营商的回报,其余在一个部门运作。 左运算分为操作的权利,只有其余的是回来了。 虽然模运营商没有想到在大多数应用中,它可以被证明是一个非常有用的运营商。 例如,下面的脚本使用了运营商只要转换到小数点后2位小数。 modulo2dec.html<html> 的<head> 模的<title>两个小数位转换器“ /标题” <style> 机构( 背景颜色:梅花; 字体家庭:绿色; 字型粗细:大胆; ) “ /样式” <script language="JavaScript"> 变种12月=. 06 ; 无功部分= 77.4 ; 部分+ = ( 12月*部分) ; 叶wholeInt = Math.floor (部分) ; / /该Math.floor ( )函数变量轮'的一部分' ,以最接近的整数整数。 / /之前获得模(余) '部分'是100倍四舍五入至 增量( + + )和递减( - - )算这些运营商中添加1或减1的操作。 在例子循环使用了,变柜台通常递增或递减使用这两个运营商。 这种形式一般在循环中声明是最常见的使用递增或递减操作: 对(反= 0 ;反“ 20条;反+ + ) {.... 该操作与上述两家运营商能够postaffected或preaffected 。 如果经营者是在前面的操作,其价值是增加或减去在下次操作。 如果经营者在年底操作,增加或减后的运作。 例如,下面的脚本可以用来显示如何影响到每个操作: <html>
的<head>
的<title>递增/递减操作“ /标题”
<script language="JavaScript">
无功相结合= “ ” ;
变种反弹= 0 ;
为(无功反= 0 ;反“ = 5 ;反+ + ) (
叶喉癌=退回+ + ;
结合+ = “喉癌值= ” +肝癌+ “ <br> ” ;
)
文件撰写(合并) ;
“ /脚本”
“ /头”
<body bgcolor="palevioletred">
<center>
“ /体重”
“ /的HTML ” 当您运行该脚本,结果在屏幕上如下: 喉癌值= 0 喉癌值= 1 喉癌值= 2 喉癌值= 3 喉癌值= 4 喉癌值= 5 第一次通过循环,变反弹,原先宣布了价值为零( 0 ) ,仍然是零,因为增量在其价值的定义后的变量喉癌 。 现在改变立场的增量运营商前面的变量,改变了这一行: 叶喉癌= + +反弹; 现在的输出显示如下: 喉癌值= 1 喉癌值= 2 喉癌值= 3 喉癌值= 4 喉癌值= 5 喉癌值= 6 可以看出,立场的增量运营商提出了根本性的改变产量。 随着运营商的增量前面的操作,对喉癌变量递增的第一代,但直到第二次迭代的喉癌变量改变时,经营者在年底操作。 一个小变化的代码中导致了巨大的转变,输出。 随着递增和递减运算符,你必须特别警惕不会崩溃,因为一个程序的立场,经营者的位置不正确。 运营商在利用字符串变量和文本正如你看到当使用加号( + )运营商,数字可以增加或字符串和数字可以串连成一个单一字符串。 因此,倡导的“弦经营者”是一个很有背景依赖的概念。 除了利用加号( + )运营商,您可以使用比较运算符( “ , ” = “ , ” = , == , ! = )的字符串。 在使用比较运算符,经营比较字符串操作中按字母顺序排列的基础上Unicode字符编码。 较高的字母的性质是,更大的特点是在比较与另一特点。 然而,大写字母少于小写字母。 因此, X射线不到紧急情况下,尽可能的JavaScript关注。 下面的脚本显示出一些关系秩序和大写和小写字符串。 stringOps.html<html> 的<head> 字符串比较的<title> “ /标题” <script language="JavaScript"> 无功字母= “苹果” ; 无功测试= “桔子” ; 叶伽马= “苹果” ; 叶三角洲= “橘子” ; 叶lclc =测试“ α ; 叶lcuc =阿尔法“伽马; 叶uclc =伽马“ α ; 叶旗帜= “ <h3>字符串比较” /房价“ ” 无功第一=测试+ “大于” +字母+ “结果” + lclc + “ <p> ” ; 第二=变种字母+ “大于” +伽玛+ “结果” + lcuc + “ <p> ” ; 第三=变种三角洲+ “大于” +字母+ “结果” + uclc ; 文件撰写(第一旗帜+ + +第二第三) ; “ /脚本” “ /头” <body bgcolor="mistyrose"> “ /体重” “ /的HTML ” 当字符串比较的数字,不同的结果发生时,比使用加号( + )运营商。 相反的转折点数字到字符串, JavaScript的企图将字符串成数字进行比较时,涉及数字字符的字符串。 例如,如果您写了以下, 字母的变量将是真实的: 无功字母= “ 10 ” “ 3 ; 然而,一连串与一些性质其次是信不忽视的信件,并作出有效的数值比较数值运算。 决窍 每当你不知道什么是大于或小于某些组合的数字,数字和字符串,或串和字符串,请使用浏览器地址窗口作为一个试验台。 只要输入这个词的javascript : ,其次是操作和运营商。 布尔操作符运营商比较的结果在布尔结果,但三个逻辑运算在JavaScript可以被视为布尔以及。 运营商结合不同的条件或否定的一个条件。 逻辑与( & & )一个共同的要求,剧本是两种不同的条件,存在的一个结果是true或false 。 JavaScript的规定的逻辑和( & & )运营商,以确定是否两个或两个以上的条件得到满足。 例如,一个数组的搜索可能会寻求所有的客户谁有兴趣购买新的打印机,谁住在爱荷华州,使他们能够接触打印机贸易展得梅因。 只有这两个条件都成立的结果将是真实的,并添加到联系人列表。 例如,下面的脚本部分搜索两个条件中的数组: 为(变种寻求= 0 ; customers.length ;寻求+ + )
如果( (利息[寻求] == “印表机” ) & & (州[寻求] == “爱荷华州” ) ) {.... 请注意,一套双括号必须附上脚本的if语句 。 您也可以使用的逻辑和确定的变数。 例如,在下面的脚本,第一个变量的值为真 ,第二次计算为false : <html> 的<head> 字符串比较的<title> “ /标题” <script language="JavaScript"> 无功字母= ( 15 “ 20 ) & & ( ”笔“ ” “剑” ) ; 无功测试= ( “大” “ ”高“ ) & & ( 20 ” 30 ) ; 文件撰写( α + “ <br> ” +试用版) “ /脚本” “ /头” <body bgcolor="lightcoral"> “ /体重” “ /的HTML ” 逻辑或( | | )合乎逻辑的OR操作符( | | )使用双管作为一个象征。 当两个或两个以上的条件,指出使用逻辑运算子,只有一个条件必须得到满足的结果来评价视为真实的。 例如, 字母的变量在以下将评估真正的,即使两个条件是虚假的: 无功字母= ( 56 “ 34 ) | | ( 10 ” 2 ) | | ( “弗雷德” “ ”爱丽丝“ ) ; 您也可以使用逻辑或(或逻辑和)与变数定义布尔值。 例如,下面的线显示如何使用逻辑或脚本: 无功字母= ( “豆” “ ”土豆“ ) ; 无功测试= 30 “ 40 ; 变种甲型伽玛= | | β ; 由于字母的变量包含一个真正的布尔值和 β含有虚假的一个变数伽马射线是因为一方或另一方必须是真实的,二者不能同时使用。 逻辑非( ! )JavaScript的逻辑非( ! )服务否定的结果。 有时候,一个内置的功能,相反你可能想测试你的脚本。 该isFinite ( )函数中使用的一个例子是否定测试无穷 。 下面的脚本显示出一些不同的应用程序的逻辑不是: <html> 的<head> 的<title>逻辑非“ /标题” <script language="JavaScript"> 无功字母= 0分之200 ; 无功测试= ! isFinite ( α ) ; 叶伽马= ! ( !字母) ; 叶三角洲= ! β ; 变种b = “ <br> ” ; 结合= “字母= ” +字母+乙+ “测试版= ” +测试+乙+ “伽马= ” +伽玛+乙+ “三角洲= ” +三角洲; 文件撰写(合并) ; “ /脚本” “ /头” <body bgcolor="mintcream"> “ /体重” “ /的HTML ” 该脚本生成以下输出: 阿尔法=无限 =真正的测试 伽马=真正的 三角洲=虚假 因为 alpha产生无穷的价值, β应如此,因为产生的功能! isFinite ( )测试无穷 。 然而, 伽马变量也会产生如此。 否定一个变量包含一个真正的布尔字面产生虚假的 ,但将否定任何其他变量与一个非布尔值。 例如,这些线路将返回错误 : 无功字母= 5 , β = ! α ; 文件撰写(试用版) ; 由于阿尔法不包含一个布尔值,你可能认为, 阿尔法将“中性” ,既不真或假。 然而,在脚本的伽玛返回 true ,双事先没有它, ! ( !字母) 。 这是因为!字母会产生一个布尔假的。 位运算符如果你的脚本要求位业务,您可以使用符号表来指导你。 一般来说,很少有程序员需要位运算符,他们在这里只包括一个完整的运营商可在JavaScript和程序员谁可能需要它们。 备注 位行动涉及的二进制数字,你应该了解何时以及如何有效地使用二进制数字节目。 不过,您可以通过生活的一个非常有效的程序员,更不用提设计师,从来没有造成使用位运算符。 然而,如果使用位运算符是至关重要的一个设想的JavaScript程序,你记住,你会发现, JavaScript的提供了充足的一套位运算符。
在某些方面,位运算符像任何其他的意义,你使用它们在同一类型的表达式的任何其他运营商在JavaScript 。 关键的区别是,他们的工作与二进制( 0和1 ) ,而不是十进制值。 看看JavaScript是做同位运算符,考虑今年头7数值二进制数系统: 0000 -0 0001 -1 0010 -2 0011 -3 0100 -4 0101 -5 0110 -6 如果数字在一个被转移到了左边一个,价值1 ( 0001 )将成为价值2 ( 0010 ) ,因为数字在第四的位置从右边转移到第三位和0填补了在原本是一 。 因此, 0001变成0010 ,或十进制值2 。 位经营者利用JavaScript中,您就可以完成同样的行动。 以下显示一个单一转向左侧,并成为第3小数小数点6 : <html> 的<head> 的<title>位的转变“ /标题” <script language="JavaScript"> 无功字母= 3 “ ” 1 ; 文件撰写( α ) ; “ /脚本” “ /头” <body bgcolor="palevioletred"> “ /体重” “ /的HTML ” 输出到屏幕上是 6 ,但对JavaScript ,它只是转移0011到0110 。 四位行动证明,但JavaScript的转换价值的32位整数国内,使所有浮点数转换为整数,并四舍五入(例如, 3.9999成为3 ) 。 用typeof该typeof运算符是一元,返回下列值之一:
若要使用操作,输入操作( typeof ) ,空间和操作,或把运算后括号中的typeof运营商。 下面的脚本显示了返回的数组( 对象 )和一个布尔值( 布尔 )使用这两种方法的应用操作: <html> 的<head> 的<title> typeof操作“ /标题” <script language="JavaScript"> 变种手=新的阵列( ) ; 叶whatTruth = 10 “ 4 ; 叶kindOfData1 = typeof手; 叶kindOfData2 = typeof ( whatTruth ) ; 叶kindOfData = kindOfData1 + “ <p> ” + kindOfData2 ; 文件撰写( kindOfData ) ; “ /脚本” “ /头” <body bgcolor="wheat"> “ /体重” “ /的HTML ” 新的,删除和无效的操作符这些过去三年运营商讨论, 新的是最常用的。 所有对象,首先必须构造之前, 新的运营商。 正如以前, 数组对象开始与新的经营者: 变种家庭=新的阵列( “爸爸” , “妈妈” , “休” , “克里斯” ) ; 同样,其他建设者的物体都使用新的 。 删除操作删除一个对象的财产或数组元素中的脚本。 例如,下面将undefine的数组元素的字符串值休 : 变种家庭=新的阵列( “爸爸” , “妈妈” , “休” , “克里斯” ) ; 删除家庭[ 2 ] ; 然而,尽管经营者的名称,内容是不删除;只值。 下面的脚本发生的事情表明: <html> 的<head> 删除元素的<title>价值“ /标题” <script language="JavaScript"> 变种家庭=新的阵列( “爸爸” , “妈妈” , “休” , “克里斯” ) ; 删除家庭[ 2 ] ; 文件撰写(家庭[ 3 ] + “ <p> ” + family.length ) ; “ /脚本” “ /头” <body bgcolor="peru"> “ /体重” “ /的HTML ” 数组的长度仍是4个,最后的因素仍然是克里斯 。 然而,第三数组元素( 元素[ 2 ] ) ,而不再休 ,仍然存在。 删除操作简单界定它。 最后运营商, 无效的,是一元和运作的任何文字或变量。 通常情况下,您将会看到此操作的一部分,一个<a>标记在HTML脚本,如在这里: 的<a style="text-decoration: none;" href="javascript:void(0) "onClick="scroll(500,0)"> 运营商的抑制无效的显示价值评估的表述。 所有的观众看到了 JavaScript :无效( 0 )在窗口的左下角时,鼠标动作的连接,而不是充分表达,包括网址。 文章提出的乔治Freedrich
|
|||||||||||||||||||
|