Flash的/=除法赋值运算符、=赋值运算符、== 等于运算符、===全等运算符
2012-06-02 20:00:10 来源:开发学院 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁绘劦鍓欓崝銈囩磽瀹ュ拑韬€殿喖顭烽幃銏ゅ礂鐏忔牗瀚介梺璇查叄濞佳勭珶婵犲伣锝夘敊閸撗咃紲闂佽鍨庨崘锝嗗瘱闂備胶顢婂▍鏇㈠箲閸ヮ剙鐏抽柡鍐ㄧ墕缁€鍐┿亜韫囧海顦﹀ù婊堢畺閺屻劌鈹戦崱娆忓毈缂備降鍔庣划顖炲Φ閸曨垰绠抽悗锝庝簽娴犻箖姊洪棃娑欐悙閻庢矮鍗抽悰顕€宕堕澶嬫櫖濠殿噯绲剧€笛囧箲閸ヮ剙钃熼柣鏂挎憸閻熷綊鏌涢…鎴濇灈妞ゎ剙鐗嗛—鍐Χ鎼粹€茬凹缂備緡鍠楅幐鎼佹偩閻戣棄纭€闁绘劕绉靛Λ鍐春閳ь剚銇勯幒鎴濐伀鐎规挷绀侀埞鎴︽偐閹绘帩浼€缂佹儳褰炵划娆撳蓟濞戞矮娌柟瑙勫姇椤ユ繈姊洪柅鐐茶嫰婢т即鏌熼搹顐e磳闁挎繄鍋涢埞鎴犫偓锝庘偓顓涙櫊閺屽秵娼幏灞藉帯闂佹眹鍊曢幊鎰閹惧瓨濯撮柛鎾村絻閸撳崬顪冮妶鍡楃仸闁荤啿鏅涢悾鐑藉Ψ瑜夐崑鎾绘晲鎼粹剝鐏嶉梺缁樻尰濞叉﹢濡甸崟顖氱疀闂傚牊绋愮花鑲╃磽娴h棄鐓愭慨妯稿妿濡叉劙骞樼拠鑼槰闂佸啿鎼崐濠毸囬弶搴撴斀妞ゆ梻銆嬪銉︺亜椤撶偛妲婚柣锝囧厴楠炴帡骞嬮弮鈧悗濠氭⒑鐟欏嫭鍎楅柛妯衡偓鐔插徍濠电姷鏁告慨鐑藉极閸涘﹥鍙忔い鎾卞灩绾惧鏌熼崜褏甯涢柍閿嬪灦閵囧嫰骞掗崱妞惧缂傚倷绀侀ˇ閬嶅极婵犳氨宓侀柛鈩冪⊕閸婄兘鏌涘┑鍡楊伀妞ゆ梹鍔曢埞鎴︽倻閸モ晝校闂佸憡鎸婚悷锔界┍婵犲洦鍤冮柍鍝勫暟閿涙粓姊鸿ぐ鎺戜喊闁告瑥楠搁埢鎾斥堪閸喓鍘搁柣蹇曞仧绾爼宕戦幘璇茬疀濞达絽鎲¢崐顖炴⒑绾懎浜归悶娑栧劦閸┾偓妞ゆ帒鍟惃娲煛娴e湱澧柍瑙勫灴閹瑩寮堕幋鐘辨闂備礁婀辨灙闁硅姤绮庨崚鎺楀籍閸喎浠虹紓浣割儓椤曟娊鏁冮崒娑氬幈闂佸搫娲㈤崝宀勬倶閻樼粯鐓曢柟鑸妼娴滄儳鈹戦敍鍕杭闁稿﹥鐗犲畷婵嬫晝閳ь剟鈥﹂崸妤€鐒垫い鎺嶈兌缁犲墽鈧厜鍋撳┑鐘辩窔閸嬫鈹戦纭烽練婵炲拑绲垮Σ鎰板箳閹冲磭鍠撻幏鐘绘嚑閼稿灚姣愰梻鍌氬€烽懗鑸电仚濠电偛顕崗妯侯嚕椤愩倖瀚氱€瑰壊鍠栧▓銊︾節閻㈤潧校缁炬澘绉瑰鏌ュ箵閹烘繄鍞甸柣鐘烘鐏忋劌顔忛妷褉鍋撶憴鍕碍婵☆偅绻傞~蹇涙惞閸︻厾锛滃┑鈽嗗灠閹碱偊锝炲鍥╃=濞达綁顥撻崝宥夋煙缁嬪灝鏆遍柣锝囧厴楠炲鏁冮埀顒傜不婵犳碍鍋i柛銉戝啰楠囬悗瑙勬尭缁夋挳鈥旈崘顔嘉ч柛鈩兠棄宥囩磽娴e壊鍎愰柛銊ュ缁顓兼径瀣偓閿嬨亜閹哄秶顦︾€殿喖鐏濋埞鎴﹀煡閸℃浠梺鍛婎焼閸曨収娲告俊銈忕到閸燁垶宕愰崹顐e弿婵☆垳鍘ф禍楣冩倵濮樼偓瀚�

一、= 赋值运算符
expression1 = expression2
将 expression2(位于右侧的参数)的值赋给 expression1 中的变量、数组元素或属性。可以按值也可以按引用进行赋值。按值进行赋值将复制 expression1 的实际值并将其存储在 expression2 中。在将数字或文本字符串赋予变量时,使用按值进行赋值。按引用进行赋值将把对 expression2 的引用存储在 expression1 中。按引用进行赋值通常与 new 运算符一起使用。使用 new 运算符将在内存中创建一个对象,并将对内存中该位置的引用分配给一个变量。
操作数
expression1 : Object - 一个变量、数组元素或对象的属性。
expression2 : Object - 一个任何类型的值。
返回 Object - 赋予的值,expression2。
示例
下面的示例使用按值进行赋值,将值 5 赋予变量 x。
var x:Number = 5;
下面的示例使用按值进行赋值,将值"hello"赋予变量 x:
var x:String;
x = " hello ";
下面的示例使用按引用赋值,以创建 moonsOfJupiter 变量,该变量包含对新创建的 Array 对象的引用。然后使用按值进行赋值,将值"Callisto"复制到变量 moonsOfJupiter 所引用的数组的第一个元素:
var moonsOfJupiter:Array = new Array();
moonsOfJupiter[0] = "Callisto";
下面的示例使用按引用进行赋值来创建一个新对象,并将对该对象的引用赋予变量 mercury。然后使用按值进行赋值,将值 3030 赋予 mercury 对象的 diameter 属性:
var mercury:Object = new Object(); mercury.diameter = 3030; // in miles
trace (mercury.diameter); // output: 3030
二、= 赋值运算符
expression1 = expression2
将 expression2(位于右侧的参数)的值赋给 expression1 中的变量、数组元素或属性。可以按值也可以按引用进行赋值。按值进行赋值将复制 expression1 的实际值并将其存储在 expression2 中。在将数字或文本字符串赋予变量时,使用按值进行赋值。按引用进行赋值将把对 expression2 的引用存储在 expression1 中。按引用进行赋值通常与 new 运算符一起使用。使用 new 运算符将在内存中创建一个对象,并将对内存中该位置的引用分配给一个变量。
操作数
expression1 : Object - 一个变量、数组元素或对象的属性。
expression2 : Object - 一个任何类型的值。
返回 Object - 赋予的值,expression2。
示例
下面的示例使用按值进行赋值,将值 5 赋予变量 x。
var x:Number = 5;
下面的示例使用按值进行赋值,将值"hello"赋予变量 x:
var x:String;
x = " hello ";
下面的示例使用按引用赋值,以创建 moonsOfJupiter 变量,该变量包含对新创建的 Array 对象的引用。然后使用按值进行赋值,将值"Callisto"复制到变量 moonsOfJupiter 所引用的数组的第一个元素:
var moonsOfJupiter:Array = new Array();
moonsOfJupiter[0] = "Callisto";
下面的示例使用按引用进行赋值来创建一个新对象,并将对该对象的引用赋予变量 mercury。然后使用按值进行赋值,将值 3030 赋予 mercury 对象的 diameter 属性:
var mercury:Object = new Object(); mercury.diameter = 3030; // in miles
trace (mercury.diameter); // output: 3030
三、== 等于运算符
测试两个表达式是否相等。如果表达式相等,则结果为 true。
确定是否相等取决于参数的数据类型:
数字和布尔值按值进行比较,如果它们具有相同的值,则视为相等。
如果字符串表达式具有相同的字符数,而且这些字符都相同,则这些字符串表达式相等。
表示对象、数组和函数的变量按引用进行比较。如果两个变量引用同一个对象、数组或函数,则它们相等。而两个单独的数组即使具有相同数量的元素,也永远不会被视为相等。
当按值进行比较时,如果 expression1 和 expression2 为不同的数据类型,ActionScript 会尝试将 expression2 的数据类型转换为与 expression1 匹配的数据类型。
操作数
expression1 : Object - 数字、字符串、布尔值、变量、对象、数组或函数。
expression2 : Object - 数字、字符串、布尔值、变量、对象、数组或函数。
返回 Boolean - 比较的布尔结果。
示例 下面的示例将等于运算符 (==) 与 if 语句结合使用:
var a:String = "David", b:String = "David";
if (a == b) {
trace("David is David");
}
下面的示例说明比较混合类型的运算的结果:
var x:Number = 5;
var y:String = "5";
trace(x == y); // output: true
var x:String = "5";
var y:String = "66";
trace(x == y); // output: false
var x:String = "chris";
var y:String = "steve";
trace(x == y); // output: false
四、=== 全等运算符
测试两个表达式是否相等;除了不转换数据类型外,全等运算符 (===) 与等于运算符 (==) 执行运算的方式相同。如果两个表达式(包括它们的数据类型)相等,则结果为 true。
确定是否相等取决于参数的数据类型:
数字和布尔值按值进行比较,如果它们具有相同的值,则视为相等。
如果字符串表达式具有相同的字符数,而且这些字符都相同,则这些字符串表达式相等。
表示对象、数组和函数的变量按引用进行比较。如果两个变量引用同一个对象、数组或函数,则它们相等。而两个单独的数组即使具有相同数量的元素,也永远不会被视为相等。
操作数
expression1 : Object - 数字、字符串、布尔值、变量、对象、数组或函数。
expression2 : Object - 数字、字符串、布尔值、变量、对象、数组或函数。
返回 Boolean - 比较的布尔结果。
示例
下面代码中的注释说明使用等于运算符和精确相等运算符的运算所返回的值:
// Both return true because no conversion is done
var string1:String = "5";
var string2:String = "5";
trace(string1 == string2); // true
trace(string1 === string2); // true
// Automatic data typing in this example converts 5 to "5"
var string1:String = "5";
var num:Number = 5;
trace(string1 == num); // true
trace(string1 === num); // false
// Automatic data typing in this example converts true to "1"
var string1:String = "1";
var bool1:Boolean = true;
trace(string1 == bool1); // true
trace(string1 === bool1); // false
// Automatic data typing in this example converts false to "0"
var string1:String = "0";
var bool2:Boolean = false;
trace(string1 == bool2); // true
trace(string1 === bool2); // false
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接