Android開發(fā)人員不得不學(xué)習(xí)的JavaScript基礎(chǔ)(一)

操作符

在JavaScript中扛门,有很多種操作符室奏,算術(shù)操作符、賦值操作符词爬、比較操作符以及邏輯操作符

1.1、算術(shù)操作符:

+锅锨,-*必搞,/囊咏,除了加號(hào)(+)之外,其他都是按照四則運(yùn)算大方式來進(jìn)行梅割,而加號(hào)(+)在字符串中可以作為連接符來使用,這個(gè)和Java是一樣的户辞。

摘自慕課網(wǎng)

1.2、賦值操作符:

=操作符不是等于底燎,而是賦值操作

1.3弹砚、比較操作符:

操作符 描述
< 小于
> 大于
<= 小于等于
>= 大于等于
== 等于(比較值是否相同)
=== 等于(比較值和值的類型是否相同)
!= 不等于(同==)
!== 不等于(同===)

JavaScript中的比較操作符的用法和Java是一樣的枢希。但是需要注意的是表格中的=====的不同用法。

1.4苞轿、操作符優(yōu)先級(jí):

算術(shù)操作符 > 比較操作符 > 邏輯操作符 > 賦值操作符;如果同級(jí)的運(yùn)算是按從左到右次序進(jìn)行,多層括號(hào)由里向外让簿。

數(shù)組

在JavaScript中,定義一個(gè)數(shù)組是沒有類型的尔当,也就是說可以往數(shù)組中添加任何類型的數(shù)據(jù)蹂安。

1、定義

var myarray=new Array(); //沒有指定數(shù)組的長(zhǎng)度

var myarray= new Array(8); //創(chuàng)建一個(gè)長(zhǎng)度為8的數(shù)組

注意:

  • 創(chuàng)建的新數(shù)組是空數(shù)組田盈,沒有值,如輸出允瞧,則顯示undefined。
  • 雖然創(chuàng)建數(shù)組時(shí)痹升,指定了長(zhǎng)度,但實(shí)際上數(shù)組都是變長(zhǎng)的疼蛾,也就是說即使指定了長(zhǎng)度為8艺配,仍然可以將元素存儲(chǔ)在規(guī)定長(zhǎng)度以外。

2转唉、數(shù)組長(zhǎng)度屬性

使用array.length屬性來獲取數(shù)組的長(zhǎng)度,因?yàn)閿?shù)組的索引總是由0開始酝掩,所以一個(gè)數(shù)組的上下限分別是:0和length-1;同時(shí)期虾,在JavaScript中數(shù)組的length屬性是可變的。

3喳坠、二維數(shù)組

在JavaScript中,二維數(shù)組用myarray[x][y]來表示壕鹉,聲明二維數(shù)組有兩種方式:

方式一:

var myarr=new Array();  //先聲明一維 
for(var i=0;i<2;i++){   //一維長(zhǎng)度為2
   myarr[i]=new Array();  //再聲明二維 
   for(var j=0;j<3;j++){   //二維長(zhǎng)度為3
      myarr[i][j]=i+j;   // 賦值聋涨,每個(gè)數(shù)組元素的值為i+j
   }
}

方式二:

var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]

函數(shù)

在JavaScript中,函數(shù)的使用需要注意以下幾點(diǎn)事項(xiàng):

1牍白、函數(shù)調(diào)用

方式一:在JS代碼中直接調(diào)用

<script>
    var sum;
    function add2(){
        sum = 3 + 2;
        alert(sum);
    }
    add2();
</script>

方式二:在HTML標(biāo)簽中調(diào)用

<script>
    var sum;
    function add2(){
        sum = 3 + 2;
        alert(sum);
    }
</script>

<body>
    <input type="button" value="按鈕" onclick="add2()" />
</body>

2、函數(shù)參數(shù)

2.1狸涌、無參:

<script>
    var sum;
    function add2(){
        sum = 3 + 2;
        alert(sum);
    }
</script>

2.2最岗、有參

<script>
    var sum;
    function add2(x,y){
        sum = x + y;
        alert(sum);
    }
</script>

注意:有參函數(shù)中,參數(shù)類型是沒有類型的(好隨意的語言啊>_<)

3般渡、函數(shù)返回值

這里需要注意的是,在JavaScript中驯用,函數(shù)的定義是沒有返回值類型這一說的,不像Java里面晨汹,任何一個(gè)函數(shù)都需要指明返回值類型。

<script>
    var sum;
    function add2(x,y){
        sum = x + y;
        return sum;
    }
</script>

上面的函數(shù)中剥扣,你為它增加一條return語句,它就是一個(gè)有返回值的函數(shù)了钠怯,如果去掉return語句曙聂,那么它就是一個(gè)無返回值的函數(shù)(不得不又說一句,JS真隨意!!!)

事件

JavaScript 創(chuàng)建動(dòng)態(tài)頁(yè)面。事件是可以被 JavaScript 偵測(cè)到的行為贤姆。 網(wǎng)頁(yè)中的每個(gè)元素都可以產(chǎn)生某些可以觸發(fā) JavaScript 函數(shù)或程序的事件。

事件 說明
onclick 鼠標(biāo)單擊事件
onmouseover 鼠標(biāo)經(jīng)過事件
onmouseout 鼠標(biāo)移開事件
onchange 文本框內(nèi)容改變事件
onselect 文本框內(nèi)容被選中事件
onfocus 光標(biāo)聚集
onblur 光標(biāo)離開
onload 網(wǎng)頁(yè)導(dǎo)入
onunload 關(guān)閉網(wǎng)頁(yè)

對(duì)象

在JavaScript中也是有對(duì)象這一說的霞捡,和Java中的對(duì)象差不多薄疚。JavaScript中的所有事物都是對(duì)象,如:字符串街夭、數(shù)值、數(shù)組呈枉、函數(shù)等,每個(gè)對(duì)象帶有屬性和方法碴卧。

對(duì)象的屬性:反映該對(duì)象某些特定的性質(zhì)的,如:字符串的長(zhǎng)度住册、圖像的長(zhǎng)寬等;

對(duì)象的方法:能夠在對(duì)象上執(zhí)行的動(dòng)作荧飞。例如名党,表單的“提交”(Submit),時(shí)間的“獲取”(getYear)等传睹;

1、Date對(duì)象

在JavaScript中欧啤,Date對(duì)象被用來存儲(chǔ)/獲取日期,該對(duì)象有以下方法/屬性:

方法名稱 功能描述
get/setDate() 返回/設(shè)置日期
get/setFullYear() 返回/設(shè)置年份店印,用四位數(shù)表示
get/setYear 返回/設(shè)置年份
get/setMonth 返回/設(shè)置月份
0:一月 ... 11:十二月,所以要加1
get/setHours 返回/設(shè)置小時(shí) 24小時(shí)制
get/setMinutes() 返回/設(shè)置分鐘
get/setSeconds() 返回/設(shè)置秒
get/setTimes() 返回/設(shè)置時(shí)間(毫秒單位)
getDay() 返回星期
0:周一 ... 6:周日

2按摘、String對(duì)象

任何一門語言都離不開對(duì)String的操作,JavaScript也不例外炫贤,該對(duì)象有以下方法/屬性:

方法名稱 功能描述
String.charAt(1) 獲取字符串中第1個(gè)位置的字符
String.indexOf('x') 或取字符x在字符串中第1次出現(xiàn)的位置,若沒找到照激,返回-1
String.charAt(1) 獲取字符串中第1個(gè)位置的字符
String.split(separator,limit) 第一個(gè)參數(shù)是字符串分割的參照字符盹牧,第二個(gè)參數(shù)表示最多切割多少次,可以不設(shè)置汰寓,該方法返回的是一個(gè)數(shù)組
String.substring(start,end) 第一個(gè)參數(shù)表示開始位置,第二個(gè)參數(shù)表示結(jié)束位置有滑,可省略,返回的是從start到end-1位置的子串
String.substr(start,length) 第一個(gè)參數(shù)表示開始位置毛好,第二個(gè)參數(shù)表示裁剪幾個(gè)字符,可省略找默,返回的是從start到start+length位置的子串

3、Math對(duì)象

在JavaScript惩激,Math對(duì)象提供對(duì)數(shù)據(jù)的數(shù)學(xué)計(jì)算。Math對(duì)象中有屬性风钻,也有方法,以下是Math對(duì)象中的屬性:

屬性名稱 功能描述
E 返回算數(shù)常量e骡技,即自然對(duì)數(shù)的底數(shù)(約為2.718)
LN2 返回2的自然對(duì)數(shù)(約等于0.693)
LN10 返回10的自然對(duì)數(shù)(約等于2.302)
LOG2E 返回以2為底E的對(duì)數(shù)(約等于1.442)
LOG10E 返回以10為底E的對(duì)數(shù)(約等于0.434)
PI 返回圓周率(約等于3.14159)
SQRT1_2 返回2的平方根的倒數(shù)(約等于0.707)
SQRT2 返回2的平方根(約等于1.414)

在JavaScript中羞反,Math對(duì)象有以下方法:

屬性名稱 功能描述
abs(x) 返回x的絕對(duì)值
acos(x) 返回x的反余弦值
asin(x) 返回x的反正弦值
atan(x) 返回x的反正切值
atan2(y,x) 返回x軸到點(diǎn)(x,y)的角度(以弧度為單位)
ceil(x) 對(duì)x進(jìn)行上舍入(向上取整)
floor(x) 對(duì)x進(jìn)行下舍入(向下取整)
sin(x) 返回x的正弦值
cos(x) 返回x的余弦值
tan(x) 返回x的正切值
exp(x) 返回e的x次冪
log(x) 返回x的自然對(duì)數(shù)(底為e)
max(x,y) 返回x和y中的最大值
min(x,y) 返回x和y中的最小值
pow(x,y) 返回x的y次冪
random() 返回0-1之間的隨機(jī)數(shù)
round(x) 返回x的四舍五入值
sqrt(x) 返回x的平方根

4苟弛、數(shù)組Array對(duì)象

數(shù)組在上面已經(jīng)介紹過了,就不再做過多的介紹了膏秫,下面來看看JavaScript中數(shù)組的一些方法以及屬性:

屬性/方法名稱 功能描述
Array.length 返回?cái)?shù)組長(zhǎng)度
Array.contact(arr1,...arrn) 連接兩個(gè)或多個(gè)數(shù)組并返回一個(gè)最終的數(shù)組
Array.join(seprator) 把數(shù)組的所有元素放入一個(gè)字符串做盅,元素通過指定的字符seprator進(jìn)行連接窘哈,返回一個(gè)字符串
Array.pop() 刪除并返回?cái)?shù)組的最后一項(xiàng)
Array.push(x1,...xn) 向數(shù)組的末尾添加一個(gè)或更多元素,并返回新數(shù)組的長(zhǎng)度
Array.reverse() 顛倒數(shù)組中元素的順序并返回一個(gè)數(shù)組
Array.shift() 刪除并返回?cái)?shù)組中的第一個(gè)元素
Array.slice(start,end) 從某個(gè)已有的數(shù)組返回選定元素图筹,第一個(gè)參數(shù)表示從start處開始到end處結(jié)束,如果start為-1远剩,那么從倒數(shù)第一個(gè)元素開始,以此類推瓜晤,返回一個(gè)子串
Array.sort(function) 對(duì)元素進(jìn)行排序操作,并返回一個(gè)數(shù)組痢掠,參數(shù)是可選的,但是必須是一個(gè)函數(shù)(升序足画,降序)
Array.splice(index,howmaney,item1...itemn) 刪除元素,并向數(shù)組添加新的元素淹辞,第一個(gè)參數(shù)表示在數(shù)組中刪除/添加的位置,第二個(gè)參數(shù)表示需要?jiǎng)h除的元素的數(shù)量桑涎,后面是添加的參數(shù)
Array.toString() 把數(shù)組轉(zhuǎn)化為字符串并返回
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末兼贡,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子遍希,更是在濱河造成了極大的恐慌,老刑警劉巖凿蒜,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異州泊,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)遥皂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門力喷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來弟孟,“玉大人,你說我怎么就攤上這事拂募。” “怎么了陈症?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)爬凑。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么于样? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮穿剖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘糊余。我一直安慰自己,他們只是感情好贬芥,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蘸劈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪贤惯。 梳的紋絲不亂的頭發(fā)上棒掠,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音烟很,去河邊找鬼棒假。 笑死精盅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的叹俏。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼粘驰,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了蝌数?” 一聲冷哼從身側(cè)響起顶伞,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎唆貌,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锨咙,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年酪刀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片骂倘。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖稠茂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情睬关,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布电爹,位于F島的核電站,受9級(jí)特大地震影響丐箩,放射性物質(zhì)發(fā)生泄漏恤煞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一居扒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧喜喂,春花似錦、人聲如沸竿裂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至悔常,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間这嚣,已是汗流浹背鸥昏。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留障涯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓唯蝶,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親粘我。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355