JavaScript中常用的運算符及其使用方法
JavaScript中常用的運算符及其使用方法如下:
類(lèi)型
-(負值),例如:-5。
*(乘法),例如:2*4,得8。
/(除法),例如:10/2,得5。
%(取余),例如:9%2,余數為1。
+(加法),例如:1+2,得3。
-(減法),例如:9-8,得1。
算術(shù)運算符
|(按位或運算),例如:5|3,得7。
<<;(左移),例如:5<<3,得40。
>>;(右移),例如:5>>1,得2。
~(取補),例如:~5 ,得6。
++(遞加),例如: a=5,a++,得a=6。
--(遞減),例如: a=5,a--,得a=4。
字符運算符
+(字符串連接),例如:“a”+“b”,得ab。
==(等于),例如:1==2,為Flase。
!=(不等于),例如:3!=4,為T(mén)rue。
比較運算符
<;(小于),例如:7<6,為Flase。
>;(大于),例如:10>9,為T(mén)rue。
<;=(小于等于),例如:6<=9,為T(mén)rue。
>;=(大于等于),例如:3>=6,為Flase。
邏輯算符
!(邏輯非),例如:!Flase,為T(mén)rue。
&(邏輯與),例如:Flase&True,為Flase。
||(邏輯或),例如:Flase||True,為T(mén)rue。
^(邏輯異或),例如:Flase^True,為T(mén)rue。
document的方法如下:(摘自javascript寶典-16章document對象和body元素對象)
attachEvent();
captureEvent();
clear();
clearAttributes();
close();
createAttribute();
createComment();
();
createElement();
createEvent();
createEventObject();
createRange();
createStyleSheet();
createTextNode();
createTreeWalker();
detachEvent();
elementFrommPoint();
execCommand();
focus();
getElementById();
getElementsByName();
getElementsByTagName();
getSelection();
handleEvent();
hasFocus();
mergeAttributes();
open();
queryCommandEnabled();
queryCommandIndterm();
queryCommandState();
queryCommandSupported();
queryCommandText();
queryCommandValue();
recalc();
releaseCapture();
releaseEvents();
routeEvent();
setActive();
write();
writeln();
1.indexOf //返回某個(gè)指定的字符串值在字符串中首次出現的位置。
example:var str = 'abcdef'; alert(str.indexOf('b')) //輸出為12.lastIndexOf //返回一個(gè)指定的字符串值最后出現的位置,在一個(gè)字符串中的指定位置從后向前搜索。example:var str="aaabbbcccaaaddd"; alert(str.lastIndexOf('aaa')); //輸出為93.every //沒(méi)用過(guò),知道的請告訴我一下4.filter //JQuery的方法 將匹配元素集合縮減為匹配指定選擇器的元素。
example:$('li').filter(':even').css('background-color', 'red'); //給偶數Li加背景色5.foreach //php等后臺語(yǔ)言常用foreach, js常用for循環(huán),JQuery常用each6.map //jquery方法 將一組元素轉換成其他數組(不論是否是元素數組)example://把form中的每個(gè)input元素的值建立一個(gè)列表。$("p").append( $("input").map(function(){ return $(this).val();}).get().join(", ") );//得到:[ John, password, pilenbsp;把正則表達式編譯為內部格式,從而執行得更快nbsp;concatnbsp;返回一個(gè)新數組,這個(gè)新數組是由兩個(gè)或更多數組組合而成的nbsp;concat(String)nbsp;返回字符串值,該值包含了兩個(gè)或更多個(gè)提供的字符串的連接nbsp;cosnbsp;返回數的余弦值nbsp;dnbsp;nbsp;nbsp;decodeURInbsp;返回一個(gè)已編碼的統一資源標識符nbsp;(URI)nbsp;的非編碼形式nbsp;;返回統一資源標識符nbsp;(URI)nbsp;的一個(gè)已編碼組件的非編碼形式nbsp;dimensionsnbsp;返回nbsp;VBArraynbsp;的維數nbsp;enbsp;nbsp;nbsp;encodeURInbsp;將文本字符串編碼為一個(gè)有效的統一資源標識符nbsp;(URI)nbsp;;將文本字符串編碼為一個(gè)統一資源標識符nbsp;(URI)nbsp;的一個(gè)有效組件nbsp;escapenbsp;對nbsp;Stringnbsp;對象編碼以便它們能在所有計算機上可讀nbsp;evalnbsp;檢查nbsp;JScriptnbsp;代碼并執行nbsp;execnbsp;用正則表達式模式在字符串中運行查找,并返回包含該查找結果的一個(gè)數組nbsp;expnbsp;返回nbsp;e(自然對數的底)的冪nbsp;fnbsp;nbsp;nbsp;fixednbsp;把HTMLamp;lt;TTamp;gt;標記放置在nbsp;Stringnbsp;對象中的文本兩端nbsp;nbsp;floornbsp;返回小于等于其數值參數的最大整數nbsp;fontcolornbsp;把帶有nbsp;COLORnbsp;屬性的一個(gè)nbsp;HTMLnbsp;amp;lt;FONTamp;gt;nbsp;標記放置在nbsp;Stringnbsp;對象中的文本兩端nbsp;fontsizenbsp;把一個(gè)帶有nbsp;SIZEnbsp;屬性的nbsp;HTMLnbsp;amp;lt;FONTamp;gt;nbsp;標記放置在nbsp;Stringnbsp;對象中的文本的兩端nbsp;fromCharCodenbsp;從一些nbsp;Unicodenbsp;字符值中返回一個(gè)字符串nbsp;gnbsp;nbsp;nbsp;getDatenbsp;返回nbsp;Datenbsp;對象中用本地時(shí)間表示的一個(gè)月中的日期值nbsp;getDaynbsp;返回nbsp;Datenbsp;對象中用本地時(shí)間表示的一周中的日期值nbsp;getFullYearnbsp;返回nbsp;Datenbsp;對象中用本地時(shí)間表示的年份值nbsp;getHoursnbsp;返回nbsp;Datenbsp;對象中用本地時(shí)間表示的小時(shí)值nbsp;getItemnbsp;返回指定位置的項nbsp;getMillisecondsnbsp;返回nbsp;Datenbsp;對象中用本地時(shí)間表示的毫秒值nbsp;getMinutesnbsp;返回nbsp;Datenbsp;對象中用本地時(shí)間表示的分鐘值nbsp;getMonthnbsp;返回nbsp;Datenbsp;對象中用本地時(shí)間表示的月份值nbsp;getSecondsnbsp;返回nbsp;Datenbsp;對象中用本地時(shí)間表示的秒鐘值nbsp;getTimenbsp;返回nbsp;Datenbsp;對象中的時(shí)間值nbsp;getTimezoneOffsetnbsp;返回用分鐘表示的主計算機上的時(shí)間和全球標準時(shí)間nbsp;(UTC)之間的差別nbsp;getUTCDatenbsp;返回nbsp;Datenbsp;對象中用全球標準時(shí)間nbsp;(UTC)表示的日期nbsp;getUTCDaynbsp;返回nbsp;Datenbsp;對象中用全球標準時(shí)間nbsp;(UTC)表示的一周中的日期值nbsp;getUTCFullYearnbsp;返回nbsp;Datenbsp;對象中用全球標準時(shí)間nbsp;(UTC)表示的年份值nbsp;getUTCHoursnbsp;返回nbsp;Datenbsp;對象中用全球標準時(shí)間nbsp;(UTC)表示的小時(shí)值nbsp;getUTCMillis。
有兩種方法:
方法一:在頁(yè)面的script中寫(xiě)JS文檔;
<script type="text/javascript" >
//直接寫(xiě)js
</script>;方法二:引入外部的JS文檔,
<script type="text/javascript" src="/uploads/shbk/你的文檔地址"></script>;備注:js文件最好的是防在頁(yè)面底部!在WEB頁(yè)面中,THML元素內,任何一個(gè)地方都可以寫(xiě)JS。
還有種就是在HTML元素中直接寫(xiě)js,我個(gè)人是不建議使用這種方式,在后面的維護是非常困難的,還不利于后期的查看,代碼不直觀(guān)!
Javascript對象定義的幾種方式一.工廠(chǎng)方式:先創(chuàng )建對象,再向對象添加方法和屬性,封閉后調用不要使用new操作符創(chuàng )建對象。
使用這種方法有很多弊端,把方法定義在工廠(chǎng)函數內部的時(shí)候,每次調用的時(shí)候都會(huì )產(chǎn)生新的函數function factory(name,person,address,time){ var tmp=new Object; tmp.name=name; tmp.person=person; tmp.address=address; tmp.workTime=function(){ alert("we start to work at" + time); } return tmp;}var factory1=factory("drugs",100,"huashan Rd",10);var factory2=factory("TCMdrugs",100,"hongqiao Rd",11);factory1.workTime();factory2.workTime();//Here,factory1 and factory2 have different method對這種問(wèn)題雖然可以用下面的方式改進(jìn),但是缺乏很好的封裝性function factory(name,person,address,time){ var tmp=new Object; tmp.name=name; tmp.person=person; tmp.address=address; tmp.workTime=workTime(); return tmp;}function workTime(){ alert("we start to work at" + this.time);}二,構造函數方式,在構造函數內部不創(chuàng )建對象,使用this關(guān)鍵字,使用時(shí)候用new操作符,存在和工廠(chǎng)方式相同的問(wèn)題,重復創(chuàng )建函數。function counstruct(name,person,address,time){ this.name=name; this.person=person; this.address=address; this.workTime=function(){ alert("we start to work at" + this.time); };}三.原型方式:利用prototype屬性來(lái)實(shí)現屬性和方法,可以通過(guò)instanceof 檢查對象類(lèi)型,解決了重復創(chuàng )建函數的問(wèn)題,但不能通過(guò)傳遞參數初始化屬性function Car(){}Car.prototype.color = "red";Car.prototype.doors = 4;Car.prototype.mpg = 23;Car.prototype.showColor = function(){ alert(this.color);};var car1 = new Car();var car2 = new Car();但是如果遇到下面的情況,又出問(wèn)題了Car.prototype.drivers = new Array("mike", "sue");car1.drivers.push("matt");alert(car1.drivers); //outputs "mike,sue,matt"alert(car2.drivers); //outputs "mike,sue,matt"drivers是指向Array對象的指針,Car的兩個(gè)實(shí)例都指向同一個(gè)數組。
四.混合的構造函數/原型方式:針對原型方式的解決方案function Car(sColor, iDoors, iMpg){ this.color = sColor; this.doors = iDoors; this.mpg = iMpg; this.drivers = new Array("mike", "sue");}Car.prototype.showColor = function (){ alert(this.color);};var car1 = new Car("red", 4, 23);var car2 = new Car("blue", 3, 25);car1.drivers.push("matt");alert(car1.drivers);alert(car2.drivers);五.動(dòng)態(tài)原型方式:這種方式是極力推薦的方式,避免了前面幾種方式所出現的問(wèn)題,提供了更友好的編碼風(fēng)格function Car(sColor, iDoors, iMpg){ this.color = sColor; this.doors = iDoors; this.mpg = iMpg; this.drivers = new Array("mike", "sue"); if(typeof Car.initialized == "undefined"){ Car.prototype.showColor = function (){ alert(this.color); }; Car.initialized = true; }}var car1 = new Car("red", 4, 23);var car2 = new Car("blue", 3, 25);car1.drivers.push("matt");alert(car1.drivers);alert(car2.drivers);六.混合工廠(chǎng)方式:和工廠(chǎng)方式有些相似,但采用new關(guān)鍵字實(shí)例化,具有和工廠(chǎng)方式相同的弊端,不推薦使用。
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:3.337秒