js进阶篇1

对象

操作符优先级

操作符之间的优先级(高到低):

算术操作符 → 比较操作符 → 逻辑操作符 → “=”赋值符号

数组

创建数组语法:

var myarray=new Array();

注意:
1.创建的新数组是空数组,没有值,如输出,则显示undefined。

2.虽然创建数组时,指定了长度,但实际上数组都是变长的,也就是说即使指定了长度为8,仍然可以将元素存储在规定长度以外。

我们还可以用简单的方法创建上面的数组和赋值:

第一种方法:

var myarray = new Array(66,80,90,77,59);//创建数组同时赋值

第二种方法:

var myarray = [66,80,90,77,59];//直接输入一个数组(称 “字面量数组”)

注意:数组存储的数据可以是任何类型(数字、字符、布尔值等)

了解成员数量(数组属性length)

如果我们想知道数组的大小,只需引用数组的一个属性length。Length属性表示数组的长度,即数组中元素的个数。

同时,JavaScript
数组的length属性是可变的,这一点需要特别注意。

做判断(if语句)

if语句是基于条件成立才执行相应代码时使用的语句。

语法:

if(条件)
{ 条件成立时执行代码}

二选一 (if…else语句)

if…else语句是在指定的条件成立时执行代码,在条件不成立时执行else后的代码。

语法:

if(条件)
{ 条件成立时执行的代码}
else
{条件不成立时执行的代码}

多种选择(Switch语句)

当有很多种选项的时候,switch比if else使用更方便。

语法:

switch(表达式)
{
case1:
  执行代码块 1
  break;
case2:
  执行代码块 2
  break;
...
case值n:
  执行代码块 n
  break;
default:
  与 case1case2...case值n 不同时执行的代码
}

语法说明:

Switch必须赋初始值,值与每个case值匹配。满足执行该 case 后的所有语句,并用break语句来阻止运行下一个case。如所有case值都不匹配,执行default后的语句。

重复重复(for循环)

很多事情不只是做一次,要重复做。如打印10份试卷,每次打印一份,重复这个动作,直到打印完成。这些事情,我们使用循环语句来完成,循环语句,就是重复执行一段代码。

for语句结构:

for(初始化变量;循环条件;循环迭代)
{     
    循环语句 
 }

反反复复(while循环)

和for循环有相同功能的还有while循环, while循环重复执行一段代码,直到某个条件不再满足。

while语句结构:

while(判断条件)
{
    循环语句
 }

来来回回(Do…while循环)

do while结构的基本原理和while结构是基本相同的,但是它保证循环体至少被执行一次。因为它是先执行代码,后判断条件,如果条件为真,继续循环。

do…while语句结构:

do
{
    循环语句
 }
while(判断条件)

退出循环break

在while、for、do…while、while循环中使用break语句退出当前循环,直接执行后面的代码。

格式如下:

for(初始条件;判断条件;循环后条件值更新)
{
  if(特殊情况)
  {break;}
  循环代码
}

继续循环continue

continue的作用是仅仅跳过本次循环,而整个循环体继续执行。

语句结构:

for(初始条件;判断条件;循环后条件值更新)
{
  if(特殊情况)
  { continue; }
 循环代码
}

事件

什么是事件

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

比如说,当用户单击按钮或者提交表单数据时,就发生一个鼠标单击(onclick)事件,需要浏览器做出处理,返回给用户一个结果。

主要事件:

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

鼠标单击事件( onclick )

onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件。同时onclick事件调用的程序块就会被执行,通常与按钮一起使用。

<form>
   <input name="button" type="button" value="点击提交" onclick="add2()" />
</form>

鼠标经过事件(onmouseover)

鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。

鼠标移开事件(onmouseout)

鼠标移开事件,当鼠标移开当前对象时,执行onmouseout调用的程序。

光标聚焦事件(onfocus)

当网页中的对象获得聚点时,执行onfocus调用的程序就会被执行。

失焦事件(onblur)

onblur事件与onfocus是相对事件,当光标离开当前获得聚焦对象的时候,触发onblur事件,同时执行被调用的程序。

内容选中事件(onselect)

选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。

文本框内容改变事件(onchange)

通过改变文本框的内容来触发onchange事件,同时执行被调用的程序。

加载事件(onload)

事件会在页面加载完成后,立即发生,同时执行被调用的程序。
注意:

  1. 加载页面时,触发onload事件,事件写在标签内。
  2. 此节的加载页面,可理解为打开一个新页面时

卸载事件(onunload)

当用户退出页面时(页面关闭、页面刷新等),触发onUnload事件,同时执行被调用的程序。

注意:不同浏览器对onunload事件支持不同。

<script type="text/javascript">   
 window.onunload = onunload_message;   
 function onunload_message(){   
    alert("您确定离开该网页吗?");   
}   
</script>  

JavaScript内置对象

什么是对象

JavaScript 中的所有事物都是对象,如:字符串、数值、数组、函数等,每个对象带有属性和方法。

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

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

JavaScript 提供多个内建对象,比如String、Date、Array等等,使用对象前先定义,如下使用数组对象:

var objectName =new Array();//使用new关键字定义对象

或者

var objectName =[];

访问对象属性的语法:

objectName.propertyName

如使用 Array 对象的 length 属性来获得数组的长度:

var myarray=new Array(6);//定义数组对象
var myl=myarray.length;//访问数组长度length属性
以上代码执行后,myl的值将是:6

访问对象的方法:

objectName.methodName()

如使用string 对象的 toUpperCase() 方法来将文本转换为大写:

var mystr="Hello world!";//创建一个字符串
var request=mystr.toUpperCase(); //使用字符串对象方法

以上代码执行后,request的值是:HELLO WORLD!

Date日期对象

日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒)。

定义一个时间对象 :

var Udate=new Date(); 

注意:使用关键字new,Date()的首字母必须大写。

使 Udate 成为日期对象,并且已有初始值:当前时间(当前电脑系统时间)

如果要自定义初始值,可以用以下方法:

var d = new Date(2012, 10, 1);  //2012年10月1日
var d = new Date('Oct 1, 2012'); //2012年10月1日

我们最好使用下面介绍的“方法”来严格定义时间。

访问方法语法:“<日期对象>.<方法>”

Date对象中处理时间和日期的常用方法:

方法名称                    功能描述
get/setDate()            返回/设置日期
get/setFullyear()        返回/设置年份,用四位数表示
get/setYear()            返回/设置年份
get/setMouth()            返回/设置月份。0:一月
get/setMinutes()        返回/设置分钟数
get/setSeconds()        返回/设置秒钟数
get/setTime()            返回/设置时间(毫秒为单位)
getDay()                返回星期,0表示星期天

返回星期方法

getDay() 返回星期,返回的是0-6的数字,0 表示星期天。如果要返回相对应“星期”。

<script type="text/javascript">
  var mydate=new Date();
  var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
  document.write("今天是:" + weekday[mydate.getDay()]);
</script>

返回/设置时间方法

get/setTime() 返回/设置时间,单位毫秒数,计算从 1970 年 1 月 1 日零时到日期对象所指的日期的毫秒数。

如果将目前日期对象的时间推迟2小时,代码如下:

String 字符串对象

在之前的学习中已经使用字符串对象了,定义字符串的方法就是直接赋值。比如:

var mystr = "I love JavaScript!"

定义mystr字符串后,我们就可以访问它的属性和方法。

访问字符串对象的属性length:

stringObject.length; 返回该字符串的长度。

var mystr="Hello World!";
var myl=mystr.length;

以上代码执行后,myl 的值将是:12

访问字符串对象的方法:

使用 String 对象的 toUpperCase() 方法来将字符串小写字母转换为大写:

var mystr="Hello world!";
var mynum=mystr.toUpperCase();

返回指定位置的字符**

charAt() 方法可返回指定位置的字符。返回的字符是长度为 1 的字符串。

语法:

stringObject.charAt(index)

index:必需、表示字符串中某个位置的数字,即字符在字符串中的下标。

注意:1.字符串中第一个字符的下标是 0。最后一个字符的下标为字符串长度减一(string.length-1)。

2.如果参数 index 不在 0 与 string.length-1 之间,该方法将返回一个空字符串。

返回指定的字符串首次出现的位置

indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

语法

stringObject.indexOf(substring, startpos)

返回指定位置的字符

charAt() 方法可返回指定位置的字符。返回的字符是长度为 1 的字符串。

语法:

stringObject.charAt(index)

参数                        描述
substring            必需。规定需检索的字符串值。
startpos            可选的整数参数。规定在字符串中开始索引的位置。
                    如果忽略,则将从字符串的首字符开始检索

说明:

1.该方法将从头到尾地检索字符串 stringObject,看它是否含有子串 substring。

2.可选参数,从stringObject的startpos位置开始查找substring,如果没有此参数将从stringObject的开始位置查找。

3.如果找到一个 substring,则返回 substring 的第一次出现的位置。stringObject 中的字符位置是从 0 开始的。

注意:

1.indexOf() 方法区分大小写。

2.如果要检索的字符串值没有出现,则该方法返回 -1。

字符串分割split()

split() 方法将字符串分割为字符串数组,并返回此数组。

语法:

stringObject.split(separator,limit)

参数                    描述
separator            必需,从该参数指定的地方分割stringObject
limit                可选参数,分割的次数,如设置该参数,返回的子串不会多                    于这个参数指定的数组,如果无此参数为不限次数。

注意:如果把空字符串 (“”) 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

提取字符串substring()

substring() 方法用于提取字符串中介于两个指定下标之间的字符。

语法:

stringObject.substring(starPos,stopPos) 

参数                    描述
startPos            必需,一个非负的整数,开始位置
stopPos                可选,一个非负的整数,结束位置,
                    如果省略则会返回子串一直到字符串对象的结尾

注意:

  1. 返回的内容是从 start开始(包含start位置的字符)到 stop-1 处的所有字符,其长度为 stop 减start。

  2. 如果参数 start 与 stop 相等,那么该方法返回的就是一个空串(即长度为 0 的字符串)。

  3. 如果 start 比 stop 大,那么该方法在提取子串之前会先交换这两个参数。

提取指定数目的字符substr()

substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。

语法:

stringObject.substr(startPos,length)

参数                    描述
startPos            必需,要提取的子串的起始位置,必须是数值
length                可选。提取字符串的长度。如果省略一直提取到结束。

注意:如果参数startPos是负数,从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

如果startPos为负数且绝对值大于字符串长度,startPos为0。

提取指定数目的字符substr()

substr() 方法从字符串中提取从 startPos位置开始的指定数目的字符串。

语法:

stringObject.substr(startPos,length)

参数                    描述
startPos            必需,要提取的子串的起始位置,必须是数值
length                可选。提取字符串的长度。如果省略一直提取到结束。

注意:如果参数startPos是负数,从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

如果startPos为负数且绝对值大于字符串长度,startPos为0。

文章目录
  1. 1. 对象
    1. 1.1. 操作符优先级
    2. 1.2. 数组
    3. 1.3. 做判断(if语句)
    4. 1.4. 二选一 (if…else语句)
    5. 1.5. 多种选择(Switch语句)
    6. 1.6. 重复重复(for循环)
    7. 1.7. 反反复复(while循环)
    8. 1.8. 来来回回(Do…while循环)
    9. 1.9. 退出循环break
    10. 1.10. 继续循环continue
  2. 2. 事件
    1. 2.1. 什么是事件
    2. 2.2. 鼠标单击事件( onclick )
    3. 2.3. 鼠标经过事件(onmouseover)
    4. 2.4. 鼠标移开事件(onmouseout)
    5. 2.5. 光标聚焦事件(onfocus)
    6. 2.6. 失焦事件(onblur)
    7. 2.7. 内容选中事件(onselect)
    8. 2.8. 文本框内容改变事件(onchange)
    9. 2.9. 加载事件(onload)
    10. 2.10. 卸载事件(onunload)
  3. 3. JavaScript内置对象
    1. 3.1. 什么是对象
    2. 3.2. Date日期对象
    3. 3.3. 返回星期方法
    4. 3.4. 返回/设置时间方法
    5. 3.5. String 字符串对象
      1. 3.5.1. 返回指定位置的字符**
      2. 3.5.2. 返回指定的字符串首次出现的位置
      3. 3.5.3. 返回指定位置的字符
      4. 3.5.4. 字符串分割split()
      5. 3.5.5. 提取字符串substring()
      6. 3.5.6. 提取指定数目的字符substr()
      7. 3.5.7. 提取指定数目的字符substr()
,