成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JavaScript操作符的一些注意要點(diǎn)

gitmilk / 2714人閱讀

摘要:一元操作符智能操作一個(gè)值的操作符叫做一元操作符。它們不僅適用于整數(shù),也適用于字符串布爾值浮點(diǎn)數(shù)值和對(duì)象。此類操作符主要用于基本的算術(shù)運(yùn)算。執(zhí)行按位非就是返回?cái)?shù)字的反碼,就是操作數(shù)的負(fù)值。乘法用星號(hào)表示該操作符。

操作符

在ECMA-262 中,描述了一組用于操作數(shù)據(jù)值的操作符,包括算術(shù)操作符(如加減符號(hào))、位操作符、關(guān)系操作符和相等操作符。

一元操作符

智能操作一個(gè)值的操作符叫做一元操作符。

遞增和遞減操作符

此類操作符是借鑒于C 語(yǔ)言,有兩個(gè)版本,一種是前置型,一種是后置型。

前置型操作符

在執(zhí)行前置型操作符時(shí),變量的值都是在語(yǔ)句被求值以前改變的。(副效應(yīng))如:

var num1 = 10;
var num2 = 20;
var num3 = --num1 + num2;
var num4 = num1 + num2;
document.write(num3 + " " + num4); //29 29
//由于是前置型遞減操作符,num3 在計(jì)算結(jié)果出來之前,num1 已經(jīng)是9 了,所以num3 的計(jì)算結(jié)果就是29;同樣的,由于計(jì)算num3 之后,num1 是9,所以num4 同樣是29。
后置型操作符

區(qū)別就是符號(hào)放在變量的后面,以及操作符是在包含他們的語(yǔ)句求值之后才執(zhí)行的。如:

var num1 = 10;
var num2 = 20;
var num3 = num1-- + num2;
var num4 = num1 + num2;
document.write(num3 + " " + num4);//30 29
//由于是后置型遞減操作符,num3 在計(jì)算結(jié)果出來之后,num1 才變成9,所以num3 的計(jì)算結(jié)果仍然是30;同樣的,由于計(jì)算num3之后,num1才變成9,所以num4 則是29.

應(yīng)該注意的是,此類操作符對(duì)任何值都適用。它們不僅適用于整數(shù),也適用于字符串、布爾值、浮點(diǎn)數(shù)值和對(duì)象。如:

var a = "12";
var b = "abc";
var c = true;
var d = 0.123;
var object = {
    valueOf: function(){
        return 1;
    }
}
document.write(++a); //13
document.write(++b); //NaN
document.write(++c); //2
document.write(++d); //1.123
document.write(++object); //2
一元加和減操作符

此類操作符的作用與數(shù)學(xué)常識(shí)完全一樣,不再詳述。此類操作符主要用于基本的算術(shù)運(yùn)算。

位操作符

ECMAScript 中的所有數(shù)值都是以IEE-754 64 位格式儲(chǔ)存的,但位操作符并不直接操作64 位的值。而是先轉(zhuǎn)換成32 位,操作之后再存儲(chǔ)為64位。對(duì)于有符號(hào)的整數(shù),32 位的前31 位用于表示整數(shù)的值。第32位用來表示數(shù)值的符號(hào)。0 為正,1 為負(fù)。這個(gè)表示符號(hào)的位就是符號(hào)位。

那么在JavaScript 中如何將數(shù)值或字符串轉(zhuǎn)換成二進(jìn)制字符串呢?如下:

var a = "18";
var numA = parseInt(a,10).toString(2);
document.write(numA); //10010
按位非(NOT)

由波浪線(~)表示。執(zhí)行按位非就是返回?cái)?shù)字的反碼,就是操作數(shù)的負(fù)值-1。如:

var a = "18";
var numA = parseInt(a,10).toString(2);
document.write(numA); //10010
document.write(~numA); //-10011
//這里,18 的二進(jìn)制碼就是10010,它的反碼就是-10011

轉(zhuǎn)換二進(jìn)制和十進(jìn)制的方法如下:

var a = "12";
var x = parseInt(a,10).toString(2);
document.write("這個(gè)數(shù)的二進(jìn)制碼是:" + x);
document.write("
"); var y = ~x; document.write("這個(gè)數(shù)的二進(jìn)制反碼是:" + y); document.write("
"); var b = parseInt(x,2).toString(10); document.write("您輸入的數(shù)字是:" + b); /* 這個(gè)數(shù)的二進(jìn)制碼是:1100 這個(gè)數(shù)的二進(jìn)制反碼是:-1101 您輸入的數(shù)字是:12 */
按位與(AND)

用& 字號(hào)表示。簡(jiǎn)單的說就是按位與操作只在兩個(gè)數(shù)值的對(duì)應(yīng)位都是1 時(shí)才返回1,任何一位是0,結(jié)果都是0.如:

var num1 = 25;
var num2 = 3;
document.write(num1 & num2) //1
//首先其底層操作實(shí)際上就是25 和3 的二進(jìn)制碼在對(duì)應(yīng)位都是1 時(shí)才返回1,其他都是0,所以結(jié)果就是十進(jìn)制1 的二進(jìn)制碼。
按位或(OR)

用| 豎線符號(hào)表示,簡(jiǎn)單的說就是有一個(gè)位是1 的情況下就返回1,而只有在兩個(gè)位都是0 的情況下才返回0。如:

var num1 = 25;
var num2 = 3;
document.write(num1 | num2) //27
按位異或(XOR)

用^ 插入符號(hào)表示,簡(jiǎn)單的說就是對(duì)應(yīng)位上只有一個(gè)1 時(shí)才返回1,如果對(duì)應(yīng)的兩位都是1 或都是0,則返回0。如:

var num1 = 25;
var num2 = 3;
document.write(num1 ^ num2) //26
左移

用<< 兩個(gè)小于號(hào)來表示,這個(gè)操作符會(huì)將數(shù)值的所有位向左移動(dòng)指定的位數(shù)。如:

var num1 = 2;
var num2 = num1 << 5;
document.write(num2); //64
有符號(hào)的右移

用>> 兩個(gè)大于號(hào)來表示,但是保留符號(hào)位!如:

var num1 = -64;
var num2 = num1 >> 5;
document.write(num2); //2
無符號(hào)的右移

用>>> 三個(gè)大于號(hào)來表示,這樣就沒有辦法保留符號(hào)位了!如:

var num1 = 64;
var num2 = num1 >>> 5;
document.write(num2); //2
//對(duì)于正數(shù)來說,結(jié)果依然還是原來的結(jié)果(保留符號(hào)位)

var num1 = -64;
var num2 = num1 >>> 5;
document.write(num2); //134217726
//但是對(duì)于負(fù)數(shù),結(jié)果就不同了(不保留符號(hào)位)
布爾操作符

主要用來執(zhí)行if...else 等循環(huán)之類的語(yǔ)句。包括邏輯非(!)、邏輯與(&&)以及邏輯或(||)

邏輯非

用! 嘆號(hào)表示。主要規(guī)則如下:

如果操作數(shù)是對(duì)象,返回false;

如果操作數(shù)是空字符串,返回true;

如果操作數(shù)是數(shù)值0,返回true,非零(包括infinity),返回false;

如果操作數(shù)是null、NaN、undefined,返回true;

具體例子如下:

var obj = {};
document.write(!obj); //false
var str = "";
document.write(!str); //true
var num = Infinity;
document.write(!num); //false
var thing = NaN;
document.write(!thing); //true
邏輯與

用&& 兩個(gè)和號(hào)表示。主要規(guī)則如下:

如果第一個(gè)操作數(shù)是對(duì)象,則返回第二個(gè)操作數(shù);

如果第一個(gè)操作數(shù)求值結(jié)果是true,且第二個(gè)操作數(shù)是對(duì)象,則返回第二個(gè)操作數(shù);

如果兩個(gè)操作數(shù)都是對(duì)象,則返回第二個(gè)操作數(shù);

如果有一個(gè)操作數(shù)是null、NaN或者undefined,則返回null、NaN或undefined;

具體例子如下:

var obj1 = {};
var obj2 = {name:"-helloworld-"};
var result1 = (obj1 && 321);
document.write(result1); //321 第一個(gè)是true 的對(duì)象,返回第二個(gè)操作數(shù)
var result2 = (!obj1 && 321);
document.write(result2); //false 第一個(gè)是false,沒有必要對(duì)321 求值
var result3 = (obj1 && obj2.name);
document.write(result3); //"-helloworld-" 第一個(gè)是true 的對(duì)象,返回第二個(gè)對(duì)象的操作數(shù)
var result4 = (321 && 33);
document.write(result4); //第一個(gè)為true,返回第二個(gè)操作數(shù)
var result5 = (321 && null);
document.write(result5); //第一個(gè)為true,返回null

值得注意的是,如果第一個(gè)操作數(shù)能夠決定結(jié)果,那么就不會(huì)對(duì)第二個(gè)操作數(shù)求值。如:

var x = true;
var y = {name:"helloworld"};
var result = (x && y.name);
document.write(result); //"helloworld" 第一個(gè)操作數(shù)不能判定結(jié)果,要繼續(xù)執(zhí)行下一個(gè)操作數(shù),才能執(zhí)行document.write

var x = true;
var result = (x && z);
document.write(result); //由于z 沒有被定義,這里會(huì)發(fā)生錯(cuò)誤,不會(huì)執(zhí)行document.write

var x = false;
var y = {name:"helloworld"};
var result = (x && y.name);
document.write(result); //false 第一個(gè)操作數(shù)能夠判定結(jié)果,不需要執(zhí)行下一個(gè)操作數(shù),就可以直接執(zhí)行document.write

var x = false;
var result = (x && z);
document.write(result); //false 第一個(gè)操作數(shù)能夠判定結(jié)果,不需要執(zhí)行下一個(gè)操作數(shù),所以無論下一個(gè)操作數(shù)是否被定義,不會(huì)發(fā)生錯(cuò)誤。都可以直接執(zhí)行document.write
邏輯或

用|| 兩個(gè)豎線符號(hào)表示。主要規(guī)則如下:

如果第一個(gè)操作數(shù)是對(duì)象,則返回第一個(gè)操作符;

如果第一個(gè)操作數(shù)的求值結(jié)果是false,則返回第二個(gè)操作數(shù);

如果兩個(gè)操作數(shù)都是對(duì)象,則返回第一個(gè)操作數(shù);

如果兩個(gè)操作數(shù)都是null、NaN或者undefined,則返回null、NaN或undefined;

值得注意的是,如果第一個(gè)操作數(shù)的求值結(jié)果是true,就不會(huì)對(duì)第二個(gè)操作數(shù)求值了。如:

var x = true;
document.write(x || z); //true 雖然這里并沒有定義z 但是由于第一個(gè)操作數(shù)能夠判定結(jié)果,則不需要繼續(xù)對(duì)第二個(gè)操作符進(jìn)行求值

var x = false;
document.write(x || z);
document.write("false"); //這里之所以不會(huì)返回false,是因?yàn)樵诘谝粋€(gè)操作數(shù)判定不了結(jié)果的情況下,會(huì)對(duì)第二個(gè)操作數(shù)進(jìn)行求值,但是第二個(gè)操作數(shù)未定義。所以會(huì)出現(xiàn)錯(cuò)誤。

另外,還需要注意的是,我們可以利用邏輯或的這一行為來避免為變量賦予null 或 undefined 值。例如:

var str1 = "hello there!";
var str2 = null;
var str = str2 || str1;
document.write(str);
str2 = undefined;
var str = str2 || str1;
document.write(str);
//這樣就能規(guī)避其中一個(gè)操作數(shù)是null 或者undefined,把第二個(gè)操作數(shù)作為后備值
乘性操作符

ECMAScript 定義了3個(gè)乘性操作符:乘法、除法和求模。

乘法

用* 星號(hào)表示該操作符。

主要規(guī)則有:

如果計(jì)算結(jié)果超過了表示范圍,則會(huì)返回+/-Infinity;

如果有一個(gè)操作數(shù)是NaN,則結(jié)果是NaN。

如果是Infinity 與0 相乘,則結(jié)果是NaN。

如果Infinity 與 Infinity 相乘,則結(jié)果是+/-Infinity;

如果其中一個(gè)操作數(shù)不是數(shù)值,后臺(tái)將會(huì)先用Number()對(duì)齊進(jìn)行轉(zhuǎn)換,然后按照上面的規(guī)則求值。

具體例子:

var result = (-Number.MAX_VALUE * Number.MAX_VALUE)
document.write(result) //-Infinity
result = (NaN * 321);
document.write(result) //NaN
result = (-Infinity * 0);
document.write(result) //NaN
result = (Infinity * -Infinity);
document.write(result) //=Infinity
result = (1 * "321");
document.write(result) //321
result = (1 * false);
document.write(result) //0
除法

用/ 斜線符號(hào)表示。

主要規(guī)則如下:

如果計(jì)算結(jié)果超過了表示范圍,則會(huì)返回+/-Infinity;

如果有一個(gè)操作數(shù)是NaN,則結(jié)果是NaN;

如果是0 除以0,結(jié)果則是NaN;

如果是非零的有限數(shù)被0 除,結(jié)果是+/-Infinity;

如果是Infinity 被任何非零數(shù)值除,結(jié)果則是+/-Infinity;

具體例子如下:

var result = (Number.MAX_VALUE / Number.MIN_VALUE);
document.write(result) //Infinity
result = (NaN / Number.MIN_VALUE);
document.write(result) //NaN
result = (0 / 0);
document.write(result) //NaN
result = (-421 / 0);
document.write(result) //-Infinity
result = (-Infinity / 2);
document.write(result) //-Infinity
求模

用% 百分號(hào)表示,求模就是求余數(shù)。

主要規(guī)則如下:

如果被除數(shù)是無窮大,除數(shù)是有限大,則返回NaN;

如果被除數(shù)是有限大,除數(shù)是0,則返回NaN;

Infinity 除以Infinity 結(jié)果是NaN;

被除數(shù)是有限大,除數(shù)是無窮大,結(jié)果是除數(shù);

被除數(shù)如果是0,結(jié)果就是0;

如果其中一個(gè)操作數(shù)不是數(shù)值,則后臺(tái)先轉(zhuǎn)換成數(shù)值再進(jìn)行上述規(guī)則。

具體例子如下:

var result = (Infinity % 2);
document.write(result) //NaN
var result = (2 % 0);
document.write(result) //NaN
var result = (Infinity % Infinity);
document.write(result) //NaN
var result = (2 % Infinity);
document.write(result) //2
var result = (0 % 2);
document.write(result) //0
加性操作符 加法

用+ 加號(hào)表示,規(guī)則如下:

如果一個(gè)操作數(shù)是NaN,則結(jié)果是NaN;

如果是Infinity 加-Infinity,結(jié)果是NaN;

如果是Infinity 加Infinity,結(jié)果是Infinity;

如果是-Infinity 加-Infinity,結(jié)果是-Infinity;

如果是+0 加-0,結(jié)果是+0;

如果是+0 加+0,結(jié)果是+0;

如果是-0 加-0,結(jié)果是-0;

如果兩個(gè)操作數(shù)都是字符串,則拼接兩個(gè)字符串;

如果只有一個(gè)操作數(shù)是字符串,則將另一個(gè)轉(zhuǎn)換成字符串再拼接起來;

具體例子如下:

var num1 = NaN;
var num2 = Infinity;
var result = num1 + num2;
document.write(result); //NaN
var num1 = Infinity;
var num2 = -Infinity;
var result = num1 + num2;
document.write(result); //NaN
var num1 = Infinity;
var num2 = Infinity;
var result = num1 + num2;
document.write(result); //Infinity;
var num1 = -Infinity;
var num2 = -Infinity;
var result = num1 + num2;
document.write(result); //-Infinity
var num1 = "hello ";
var num2 = "there";
var result = num1 + num2;
document.write(result); //"hello there"
var num1 = 1000;
var num2 = " there";
var result = num1 + num2;
document.write(result); //"1000 there"
var result_num = parseInt(result);
document.write(result_num);//可以證明result 是字符串

值得注意的是,加性操作符在編程中的常見的錯(cuò)誤:

var num1 = 11;
var num2 = 100;
document.write("the result is " + num1 + num2); //"the result is 11100" 錯(cuò)誤,num1 和num2 被拼接成字符串
document.write("the result is " + (num1 + num2)); //“the result is 111” 正確,括號(hào)內(nèi)的為計(jì)算值
減法

用- 減號(hào)表示,規(guī)則如下:

如果一個(gè)操作數(shù)是NaN,結(jié)果是NaN;

如果Infinity 減Infinity,結(jié)果是NaN;

如果-Infinity 減-Infinity,結(jié)果是NaN;

如果Infinity 減-Infinity,結(jié)果是Infinity;

如果-Infinity 減Infinity,結(jié)果是-Infinity;

如果是+0 減+0,結(jié)果是+0;

如果是+0 減-0,結(jié)果是-0;

如果是-0 減-0,結(jié)果是+0;

如果有一個(gè)操作數(shù)是字符串、布爾值、null 或undefined,則后臺(tái)會(huì)先把它轉(zhuǎn)換成數(shù)值;

具體例子如下:

document.write(3 - null); //3
document.write(NaN - true); //NaN
document.write(3 - ""); //3
document.write(3 - "1"); //2
document.write(Infinity - Infinity); //NaN
document.write(-Infinity - Infinity); //-Infinity
關(guān)系操作符

用< 小于、> 大于、<= 小于等于、>= 大于等于表示。規(guī)則是:

如果兩個(gè)操作數(shù)都是字符串,則比較兩個(gè)字符串對(duì)應(yīng)的字符編碼值;

如果一個(gè)操作數(shù)是數(shù)值,則將另一個(gè)操作數(shù)轉(zhuǎn)換成一個(gè)數(shù)值再比較;

如果一個(gè)操作數(shù)是數(shù)值,則將另一個(gè)操作數(shù)轉(zhuǎn)換成一個(gè)數(shù)值,當(dāng)不能轉(zhuǎn)換成數(shù)值時(shí),會(huì)當(dāng)做NaN 進(jìn)行比較,但是與NaN 進(jìn)行比較的結(jié)果都是false;

大寫字母的字符編碼全部小于小寫字符編碼;

具體例子如下:

document.write("Blackbarry" < "apple"); //true 大寫字母字符編碼小于小寫字符編碼
document.write("blackbarry" < "apple"); //false
document.write("10" < "3"); //true 兩個(gè)都是字符串 所以比較的是字符編碼
document.write("10" < 3); //false “10”字符串被轉(zhuǎn)換成10 數(shù)值,比較數(shù)值大小
document.write("a" < 3); //false "a"字符串被轉(zhuǎn)換成了NaN,任何操作數(shù)與NaN 比較都是false;
相等操作符

用== 表示相等、!= 不等、=== 全等、 !==不全等。

相等和不等

規(guī)則如下:

null 和undefined 是相等的

如果一個(gè)操作數(shù)是NaN,相等則返回false,不等則返回true。如果兩個(gè)操作符都是NaN,相等還是返回false,因?yàn)镹aN 與NaN 不相等;

如果兩個(gè)操作數(shù)都是對(duì)象,則比較他們是不是同一個(gè)對(duì)象;

具體例子如下:

document.write(null == undefined); //true
document.write(null == NaN); //false
document.write(NaN == NaN); //false
document.write("NaN" == NaN); //false
document.write("null" == undefined); //false
document.write(0 == undefined); //false
document.write(0 != "0"); //false
document.write(0 != false); //false
全等和不全等

與相等和不等類似,例子如下:

document.write(undefined === null); //false 兩個(gè)是不同類型的值
document.write(undefined == null); //true 兩個(gè)是不同類型的值 但相等 不全等
document.write("21" == 21); //true
document.write("21" === 21); //false

千萬注意null 和undefined 是相等但不全等

條件操作符

語(yǔ)法形式是:

變量 = 條件 ? true : false;

舉個(gè)例子:

var num1 = 10;
var num2 = 30;
var num = (num1 > num2) ? num1 : num2;
document.write(num); //30 選擇最大的那個(gè)賦值給變量并打印出來
賦值操作符

用= 等號(hào)來表示,另外,復(fù)合賦值操作還可以用復(fù)合賦值操作符來表示。如:

var x = 10;
x = x + 1;
document.write(x); //11
//上面這種可以寫成下面這種
var x = 10;
x +=1;
document.write(x); //11
var x = 10;
x *=2;
document.write(x); //20

其他還有:

(*=)

(/=)

(%=)

(+=)

(-=)

(<<=)

(>>=)

(>>>=)

值得注意的是,使用上面這些并不能帶來任何性能的提升,無非是省了幾個(gè)字符

逗號(hào)操作符

逗號(hào)操作符可以在一條語(yǔ)句中執(zhí)行多個(gè)操作,如:

var num1 = 1,
num2 = 2,
num3 = 3;
document.write(num1 + num2 + num3) //6

另外,逗號(hào)也可以用來賦值,逗號(hào)最后面的數(shù)值會(huì)被賦值到變量中。比如:

var x = (1,2,3,4,5);
document.write(x); //5
var x = (1,2,3,4,5,);
document.write(x); //出現(xiàn)錯(cuò)誤

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/86141.html

相關(guān)文章

  • Javascript變量注意要點(diǎn)

    摘要:如很明顯可以看到,實(shí)際上是函數(shù)的局部變量。簡(jiǎn)單的說就是,復(fù)制給參數(shù),在函數(shù)內(nèi)部是局部變量,無論怎么變化,都不影響的變化。 ECMAScript 變量可能包含兩種不同數(shù)據(jù)類型的值:基本類型值和引用類型值。 基本類型和引用類型的值 基本類型值(String,Number,Boolean,Null,Undefined)指的是簡(jiǎn)單的數(shù)據(jù)段;引用類型值(保存在內(nèi)存中的對(duì)象)指的是那些可能由多個(gè)值...

    booster 評(píng)論0 收藏0
  • JavaScript 高級(jí)技巧——“高級(jí)定時(shí)器”注意要點(diǎn)

    摘要:為了規(guī)避這個(gè)問題,可以使用定時(shí)器對(duì)事件處理程序進(jìn)行節(jié)流。當(dāng)?shù)诙握{(diào)用該函數(shù)時(shí),它會(huì)清除前一次的定時(shí)器,并設(shè)置另一個(gè)。如果前一個(gè)定時(shí)器已經(jīng)執(zhí)行過了,這個(gè)操作就沒有任何意義。然而如果前一個(gè)定時(shí)器尚未執(zhí)行,其實(shí)就是將其替換為一個(gè)新的定時(shí)器。 高級(jí)定時(shí)器 為了解決setInterval的一些執(zhí)行問題, 下面是采用鏈?zhǔn)絪etTimeout的方式來規(guī)避: setTimeout(function()...

    rubyshen 評(píng)論0 收藏0
  • JavaScript 高級(jí)技巧——“高級(jí)函數(shù)”注意要點(diǎn)

    摘要:語(yǔ)法如下注意這里使用的并不是的,是內(nèi)部函數(shù)的。函數(shù)柯里化的基本方法是使用一個(gè)閉包返回一個(gè)函數(shù)。當(dāng)函數(shù)被調(diào)用時(shí),返回的函數(shù)還需要設(shè)置一些傳入的參數(shù)。 安全的類型檢測(cè) typeof操作符 檢測(cè)數(shù)據(jù)類型的結(jié)果可能會(huì)不正確; instanceof操作符 操作符在多個(gè)全局作用域下存在問題: var value = []; var isArray = value instanceof Array;...

    solocoder 評(píng)論0 收藏0
  • JavaScript BOM——“l(fā)ocation 對(duì)象”注意要點(diǎn)

    摘要:對(duì)象基本介紹是最有用的對(duì)象之一,它提供了與當(dāng)前窗口中加載的文檔有關(guān)的信息。設(shè)置或返回主機(jī)名和當(dāng)前的端口號(hào)。設(shè)置或返回當(dāng)前的協(xié)議。另外,也可以修改對(duì)象的其他屬性來改變。并且用戶不能返回到值錢的頁(yè)面。 location 對(duì)象基本介紹 location 是最有用的 BOM 對(duì)象之一,它提供了與當(dāng)前窗口中加載的文檔有關(guān)的信息。還提供了一些導(dǎo)航功能。下面是 location 對(duì)象的所有屬性: 假...

    未東興 評(píng)論0 收藏0
  • JavaScript 事件——“事件流和事件處理程序”注意要點(diǎn)

    摘要:事件流級(jí)事件規(guī)定的事件流包括三個(gè)階段事件捕獲階段處于目標(biāo)階段和事件冒泡階段。事件處理程序的名字以開頭,如等。如使用級(jí)方法指定的事件處理程序被認(rèn)為是元素的方法。 事件流 事件流描述的是從頁(yè)面中接收事件的順序。IE的事件流是事件冒泡流,而Netscape Communicator的事件流是事件捕獲流。 事件冒泡 即事件開始時(shí)由最具體的元素接收,然后逐級(jí)向上傳播到較為不具體的節(jié)點(diǎn)。如: ...

    Amio 評(píng)論0 收藏0
  • JavaScript語(yǔ)句一些注意要點(diǎn)

    摘要:語(yǔ)句規(guī)定了一組語(yǔ)句也被成為流控制語(yǔ)句語(yǔ)句大多數(shù)編程語(yǔ)言中最為常用的一個(gè)語(yǔ)句就是語(yǔ)句。語(yǔ)句語(yǔ)句是一種精準(zhǔn)的迭代語(yǔ)句。語(yǔ)句該語(yǔ)句的作用是將代碼的作用域設(shè)置到一個(gè)特定的對(duì)象中。 語(yǔ)句 ECMA-262 規(guī)定了一組語(yǔ)句(也被成為流控制語(yǔ)句) if 語(yǔ)句 大多數(shù)編程語(yǔ)言中最為常用的一個(gè)語(yǔ)句就是if 語(yǔ)句。語(yǔ)法如下: if (condition1) { statement1; } else...

    趙連江 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<