js进阶篇

问题一:数组声明方式,以下这两种都是可以的。

var _2myarr = new Array(154,"daitt",45,78);
 var _3myarr = [12,58,55,12,"123daitt"];

补充一点儿,例如声明是数组长度为3,实际往里面填值的时候是可以超过初始长度的。例

var myarr = new Array(3);
 myarr=[88,90,68,78];

那么这种行为叫做增大数组的长度。比如上面的数组的长度就变成了4。如何获得数组的长度呢,以上例子中myarr.length就可以获取到数组的长度。我们刚才说了,直接增加一个数组元素就可以增大数组的长度,那么还有什么方法可以增大数组的长度呢,myarr.length = 10;这样的方法也是可以的,直接手动赋长度。

声明二维数组:

方式一:var _1myarr = [[1,2,3,],[4,5,6],[7,8,9]]

方式二:

var myarr = new Array();
 for(i=0;i<3;i++){
     myarr[i] = new Array()
     for(j=0;j<6;j++){
         myarr[i][j] = i*j;
     }

 }

问题二:switch语句,之前总是记不住该跟什么符号,这次再加深一下印象。

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


注意case后面跟:       每个后面加break;      switch里面要加表达式或者变量

问题三:do    while   循环

       var mynum =6;//mynum初值化数值为6
do
{
document.write("数字:"+mynum+"
");
mynum=mynum-1;
}
while( mynum>0      )

问题四:break和continue

对于这两个呢,用一个例子来说明就能特别清楚,假如要输出数字一到十,用break来限制不能输入5呢,效果就是显示数字一到四。而continue就能五以外其他都能显示。

问题五:事件

事件呢可以绑定方法,那么事件到底有哪些呢?

onclick                鼠标单击事件

onmouseover      鼠标经过事件

onmouseout        鼠标移开事件

onchange           文本框内容改变事件

onselect              文本框内容被选中事件

onfocus               光标聚集事件

onblur                  光标离开

onload                 页面加载   注意,触发事件应该写在标签里面

onunload            页面关闭    注意,这个事件触发是系统自动检测,需要一行语句window.onunload = 方法;     注意注意,经实践,发现onbeforeunload方法更好用,因为onunload 有好多浏览器都无法执行出效果。特别注意的是谷歌浏览器会拦截alert   confirm这类框,所以一般用的是return。例

window.onbeforeunload = onunload_message;

    function onunload_message(){

      // alert("您确定离开该网页吗?");      /*  IE可以   谷歌不行*/

       return "您确定离开该网页吗?";    /*谷歌  IE都可以*/

    } 

问题六:解析字符串转换成数字型——parseInt()方法。

在编程实践中发现,有时候用+计算的时候程序会将这个符号识别成字符串拼接,例本来想实现的效果是1+2=3.结果出来的下过是1+2=12.所以这个时候就需要使用parseInt()这个方法。之前一直都知道这个方法的存在,就是对它的名字不是很熟悉,只知道有个方法可以将字符串转换成数字,遇到很多遍需要用到这个方法的场景了,希望这是最后一次要记住这个方法!

问题七:对象【这是重点】

对象这个概念在我的脑海里面是一个非常模糊的存在,我一直不知道点方法,点属性是什么才能点出来。现在知道了,这个都是对象。

例:

var _myarr = new Array();       /*创建对象*/

_myarr .length;                     /*这个就是对象.属性   objectName.propertyName*/

再例:

var _string1 = "hello world !";     /*此时创建对象 _string1*/

var _string2 = _string1 .toUpperCase();        /*对象点方法    objectName.methodName()*/

问题八:日期对象

同创建数组的方式一样,var _date = new Date();

访问方法的语法:日期对象.方法,例_date .getHours();

那个Date对象中处理时间和日期的常用方法有以下:

get/setDate()               /*获得/设置日期*/

get/setFullYear()            /*获得/设置年份,用四位数表示*/

get/setMonth()               /*获得/设置月份*/

get/setHours()                /*获得/设置小时*/

get/setMinutes()            /*获得/设置分钟数*/

get/setSeconds()            /*获得/设置秒钟数*/

get/setTime()                /*获得/设置时间(毫秒为单位)1970 年 1 月 1 日零时到日期对象所指的日期的毫秒数。*/

getDay()                     /*获得星期几,注意获得的是数字,0 代表周天,1代表周一,以此类推*/

用法:

  var mydate=new Date();
  var weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
  var _day = mydate.getDay();
  document.write("今天是:" + weekday[_day]);

注意:如果不明确设置效果的可以先get一下,看是什么效果。

问题九:字符串操作对象

返回指定位置的字符:charAt(index)   index指字符串的索引位置,范围是0~(length-1),空格也算字符

例:

  var mystr="I love JavaScript!"
  document.write(mystr.charAt(mystr.length-1) );

返回指定的字符串首次出现的位置索引:indexOf("指定字符串",“开始索引位置,非必须,如果没有默认从头开始”)

例:

  var mystr="Hello World!"

  document.write(mystr.indexOf("o",5));

注意,这个方法如果没有检测到指定的字符串,返回结果为-1

字符串分割:split("分割符",分割数量)

例:

var mystr="86-010-85468578";
document.write( mystr.split("-")     + "
");
document.write(   mystr.split("")   + "
");
document.write(     mystr.split("",3)           );

提取字符串:substring(开始位置,结束位置)   注意,如果没有结束位置的话会到字符串的结尾

例:

var mystr="Hello World!"
document.write( mystr.substring(6) + "
");
document.write(  mystr.substring(0,5)  );

提取指定数目的字符串:substr(开始位置,数目)

例:

var mystr="Hello World!";
document.write(  mystr.substr(6,6) + "
");

document.write(  mystr.substr(0,5)  );


你可能感兴趣的:(前端——JS)