Android开发人员不得不学习的JavaScript基础(一)

操作符

在JavaScript中,有很多种操作符,算术操作符、赋值操作符、比较操作符以及逻辑操作符

1.1、算术操作符:

+-*/,除了加号(+)之外,其他都是按照四则运算大方式来进行,而加号(+)在字符串中可以作为连接符来使用,这个和Java是一样的。

摘自慕课网

1.2、赋值操作符:

=操作符不是等于,而是赋值操作

1.3、比较操作符:

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

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

1.4、操作符优先级:

算术操作符 > 比较操作符 > 逻辑操作符 > 赋值操作符;如果同级的运算是按从左到右次序进行,多层括号由里向外。

数组

在JavaScript中,定义一个数组是没有类型的,也就是说可以往数组中添加任何类型的数据。

1、定义

var myarray=new Array(); //没有指定数组的长度

var myarray= new Array(8); //创建一个长度为8的数组

注意:

  • 创建的新数组是空数组,没有值,如输出,则显示undefined。
  • 虽然创建数组时,指定了长度,但实际上数组都是变长的,也就是说即使指定了长度为8,仍然可以将元素存储在规定长度以外。

2、数组长度属性

使用array.length属性来获取数组的长度,因为数组的索引总是由0开始,所以一个数组的上下限分别是:0和length-1;同时,在JavaScript中数组的length属性是可变的。

3、二维数组

在JavaScript中,二维数组用myarray[x][y]来表示,声明二维数组有两种方式:

方式一:

var myarr=new Array();  //先声明一维 
for(var i=0;i<2;i++){   //一维长度为2
   myarr[i]=new Array();  //再声明二维 
   for(var j=0;j<3;j++){   //二维长度为3
      myarr[i][j]=i+j;   // 赋值,每个数组元素的值为i+j
   }
}

方式二:

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

函数

在JavaScript中,函数的使用需要注意以下几点事项:

1、函数调用

方式一:在JS代码中直接调用

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

方式二:在HTML标签中调用

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

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

2、函数参数

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>

注意:有参函数中,参数类型是没有类型的(好随意的语言啊>_<)

3、函数返回值

这里需要注意的是,在JavaScript中,函数的定义是没有返回值类型这一说的,不像Java里面,任何一个函数都需要指明返回值类型。

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

上面的函数中,你为它增加一条return语句,它就是一个有返回值的函数了,如果去掉return语句,那么它就是一个无返回值的函数(不得不又说一句,JS真随意!!!)

事件

JavaScript 创建动态页面。事件是可以被 JavaScript 侦测到的行为。 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件。

事件 说明
onclick 鼠标单击事件
onmouseover 鼠标经过事件
onmouseout 鼠标移开事件
onchange 文本框内容改变事件
onselect 文本框内容被选中事件
onfocus 光标聚集
onblur 光标离开
onload 网页导入
onunload 关闭网页

对象

在JavaScript中也是有对象这一说的,和Java中的对象差不多。JavaScript中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。

对象的属性:反映该对象某些特定的性质的,如:字符串的长度、图像的长宽等;

对象的方法:能够在对象上执行的动作。例如,表单的“提交”(Submit),时间的“获取”(getYear)等;

1、Date对象

在JavaScript中,Date对象被用来存储/获取日期,该对象有以下方法/属性:

方法名称 功能描述
get/setDate() 返回/设置日期
get/setFullYear() 返回/设置年份,用四位数表示
get/setYear 返回/设置年份
get/setMonth 返回/设置月份
0:一月 ... 11:十二月,所以要加1
get/setHours 返回/设置小时 24小时制
get/setMinutes() 返回/设置分钟
get/setSeconds() 返回/设置秒
get/setTimes() 返回/设置时间(毫秒单位)
getDay() 返回星期
0:周一 ... 6:周日

2、String对象

任何一门语言都离不开对String的操作,JavaScript也不例外,该对象有以下方法/属性:

方法名称 功能描述
String.charAt(1) 获取字符串中第1个位置的字符
String.indexOf('x') 或取字符x在字符串中第1次出现的位置,若没找到,返回-1
String.charAt(1) 获取字符串中第1个位置的字符
String.split(separator,limit) 第一个参数是字符串分割的参照字符,第二个参数表示最多切割多少次,可以不设置,该方法返回的是一个数组
String.substring(start,end) 第一个参数表示开始位置,第二个参数表示结束位置,可省略,返回的是从start到end-1位置的子串
String.substr(start,length) 第一个参数表示开始位置,第二个参数表示裁剪几个字符,可省略,返回的是从start到start+length位置的子串

3、Math对象

在JavaScript,Math对象提供对数据的数学计算。Math对象中有属性,也有方法,以下是Math对象中的属性:

属性名称 功能描述
E 返回算数常量e,即自然对数的底数(约为2.718)
LN2 返回2的自然对数(约等于0.693)
LN10 返回10的自然对数(约等于2.302)
LOG2E 返回以2为底E的对数(约等于1.442)
LOG10E 返回以10为底E的对数(约等于0.434)
PI 返回圆周率(约等于3.14159)
SQRT1_2 返回2的平方根的倒数(约等于0.707)
SQRT2 返回2的平方根(约等于1.414)

在JavaScript中,Math对象有以下方法:

属性名称 功能描述
abs(x) 返回x的绝对值
acos(x) 返回x的反余弦值
asin(x) 返回x的反正弦值
atan(x) 返回x的反正切值
atan2(y,x) 返回x轴到点(x,y)的角度(以弧度为单位)
ceil(x) 对x进行上舍入(向上取整)
floor(x) 对x进行下舍入(向下取整)
sin(x) 返回x的正弦值
cos(x) 返回x的余弦值
tan(x) 返回x的正切值
exp(x) 返回e的x次幂
log(x) 返回x的自然对数(底为e)
max(x,y) 返回x和y中的最大值
min(x,y) 返回x和y中的最小值
pow(x,y) 返回x的y次幂
random() 返回0-1之间的随机数
round(x) 返回x的四舍五入值
sqrt(x) 返回x的平方根

4、数组Array对象

数组在上面已经介绍过了,就不再做过多的介绍了,下面来看看JavaScript中数组的一些方法以及属性:

属性/方法名称 功能描述
Array.length 返回数组长度
Array.contact(arr1,...arrn) 连接两个或多个数组并返回一个最终的数组
Array.join(seprator) 把数组的所有元素放入一个字符串,元素通过指定的字符seprator进行连接,返回一个字符串
Array.pop() 删除并返回数组的最后一项
Array.push(x1,...xn) 向数组的末尾添加一个或更多元素,并返回新数组的长度
Array.reverse() 颠倒数组中元素的顺序并返回一个数组
Array.shift() 删除并返回数组中的第一个元素
Array.slice(start,end) 从某个已有的数组返回选定元素,第一个参数表示从start处开始到end处结束,如果start为-1,那么从倒数第一个元素开始,以此类推,返回一个子串
Array.sort(function) 对元素进行排序操作,并返回一个数组,参数是可选的,但是必须是一个函数(升序,降序)
Array.splice(index,howmaney,item1...itemn) 删除元素,并向数组添加新的元素,第一个参数表示在数组中删除/添加的位置,第二个参数表示需要删除的元素的数量,后面是添加的参数
Array.toString() 把数组转化为字符串并返回
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342