打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
JavaScript入门基础教程(3)数组+函数+存储形式+传递方式

昨日回顾

强制类型转换

         Number   强制将其他数据类型转换为数值型

         String       强制将其他数据类型转换为字符型

         Boolean   强制将其他数据类型转换为布尔型

                   一般都不是真实存的都会转换为false

parseInt   从字符串中提取整型数据     从左向右提取,直遇到第一个不为数字的字符(包含小数点)

parseFloat        从字符串中提出浮点数         从左向右提取,直遇到第一个不为数字的字符

isNaN       判断一个字符串是否是纯数字字符串,如果不是一个纯数字字符串返回true

流程控制

         分支结构

         if(条件表达式){

         //语句体

}

if(条件表达式){

         //语句体1

}else{

         //缺省语句体

}

         if(条件表达式1){

                   //语句体1

}else if(条件表达式2){

         //语句体2

} else if(条件表达式3){

         //语句体3

} else if(条件表达式4){

         //语句体4

}else{

         //缺省语句体

}

switch结构

switch(条件表达式){

         case1:

                   //语句体1

                   break;

         case2:

                   //语句体2

                   break;

         case3:

                   //语句体3

                   break;

         default:

                   //缺省语句体

}

if结构与switch结构区别

         if结构的条件表达式一般判断的是一个范围

         switch结构判断的具体的某个值

循环结构

for(循环控制变量初始化;循环条件;循环控制变量更改){

                   //循环体

}

执行过程:

1、  循环控制变量初始化,只执行一次

2、  判断循环条件是否成立,成立则执行循环体,不成立则直接退出

3、  对循环控制变量进行更改,

4、  使用更改后的循环控制变量的值再判断循环条件是否成立

while循环结构

         while(条件表达式){

                   //循环体

}

do{

}while(条件表达式)

         whiledo… while的区别

         while是先判断条件表达式,再根据条件表达式的结果去执行循环体

         do…while是先执行循环体,再判断条件表达式是否成立,(无论条件表达式成立与否,循环体至少会执行一次,)

         for结构与while结构的区别

         for一般用于已知循环次数或循环次数可能通过某种方式确定,while循环一般用于,循环次未知。

作业讲解:

break;                中止当前循环结构

continue;          中止当前的本次循环,继续下一次循环

数组详解

         数组:一组数据的有序集合

         数组元素:数组中每一个数据叫称为数组元素

         元素素下标:数组中数组元素的位置,此位置是从”0”开始,

         数组的长度:数组中元素的个数。     数组名.length;

         数组的长度是数组中最在元素下标+1

         如何访问数组中的元素:              数组名[元素下标];

数组的定义

一维数组

         第一种方法:

                   叫隐式声名(数组直接量)

                   var arrA=[10,20,’zhangsan’,true,null,undefined]

                   数组中的元素可以是JS中的任意数据类型

                   var arrB=[5];

         第二种方法:

                   使用new关键字与Array构造函数

                   var arrC=new Array();

数组的操作(CRUD)

         访问一个数组元素

                   数组名[元素下标];

         对数组元素的更改

                   var arrA=[10,20,’zhangsan’,true,null,undefined];

                   arrA[2]=”lisi”;

         增加一个数组元素

                   var arrA=[10,20,’zhangsan’,true,null,undefined];

         删除一个数组元素的值

                   delete(arrA[2])

二维数组

         二维数组可以形象理解为一个二维表格;

JS中没有绝对意义上的二维数组,但由于JS中可以将一个数组赋值给另一个数组元素。

         二维数组的定义:

         第一种方法:

                   方式1

直接创建一个二维数组

                   var stus=[

[“lisi”,20,true],

[“zhsang”,30,false,”php01”],

[“wangwu”,28,true]

];

                   方式2

                   //先创建一个一维数组

                   var stus2=[];

                   //再为每一个一维数组的元素赋值一个数组

                   stus2[0]=[10,20,30];

                   stus2[1]=["a","b","c"];

                   stus2[2]=["I","II","III"];

         二维数组增加元素

                   数组名[行下标][列下标]=

         二维数组元素的访问

                  数组名[行下标][列下标];

         二维数组元素的更改

数组名[行下标][列下标]=;

         二维数组元素值的删除

delete(数组名[行下标][列下标]);

         第二种方法:

使用new关键字与Array构造函数创建二维数组

                   var stus3=new Array([10,20,30],["a","b","c"],["I","II","III"]);

         课堂案例:

         将我们班级的三名同学的信息,存放在一个二维数组中,并在页面以表格形式输出?

for in循环结构

         语法结构

         for(index in数组名或对象名){

                   //循环体

}

         index是一个变量,此变量在循环开始时会被自动声,此index变量中存放的就是数组元素的下标

         var arrA=[10,20,30,true,’zhangsan’];

         for(var i=0;i<arrA.length;i++){

         alert(arrA[i]);

}

         for(index in arrA){

                   document.write(arrA[index]);

}

         window.confirm()   属于window对象的一个confirm方法,弹出一个确认对话框,当用户点击确定时返回true,当用户点击取消或关闭窗口时返回false;

         confirm单词意义确认

示例:

         var con=window.confirm("您是否需要转帐");

         if(con){

                   alert("您好的500万已帐成功");        

         }else{

                   alert("您未进行转账");

         }

函数

         从代码上看,函数就是使用”{}”,将一段代码封装起来,半赋予一个名子。

函数就是完成某一功能的程序单元。

         函数的定义

         语法结构:

         function函数名(形参1,形参2,形参3..){

                   //函数体

                   [return];

}

         说明:

1、  function:是一个关键字,全部小写

2、  函数名      命名规则与变量一样,只能包含字母、下划线、数字,但是必须的以字母或下划线开头

3、  不能是系统关键字或保留字

4、  形参1 也是一个变量,其对外不可见。(在定义的时候的变量叫形式参数),形参可以没有

5、  return用于向函数调用者,返回结果。当函数遇到此语句就会立即停止。

6、  当实际传递的参数个数多于形参个数时,多余的实参会被忽略;当实际传递参数的个数小于形参的个数时,多于个形参的值为undefined;

7、  arguments是一个对象,形如一个数组,可以使用访问数组元素的方式访问存存在argumets对象中的参数,arguments存储的是函数调用时传递进来的参数。

函数的调用:

         函数名(实际参数1,实参2,实参3…);

      对象(Object)   OOP(Object Oriented Programing)

         JS有一个Object对象

         使用Object对象创建对象

         示例:

var person=new Object();

                   person.weight=200;

                   person.height=180;

                   person.married=true;

                   person.dance=function(){

                            alert("I'm dancing,I'm happy");

                   }

                   person.dance();

基本数据类型与复合数据类型的对比

         var n1=30;                          

         var str=”zhangsan”;

         var b1=true;

                   基本数据类型,一个数据对应一个对应一个变量名

         数组

         var arr=[20,30,true,”zhangsan”];

                   多个数据对应一个对象,多个数据共同拥有一个名字

         对象:

         var person1={name:'zhangsan',age:29,marraiaged:true};

                   多个数据对就一个对象,多个数据又各自有各自的名字

内存存储形式:

基本数据类型存放在栈区

复合数据类型存放在堆区

标识符:变量名、函数名、数组名统称叫标识符,引用变量或进行数据的传递

var n1=10;        //定义一个变量

var n2=n1;        //n1的值传递给n2

         示例:

                   function func1(){

                            return 20;

                   }

                   var func2=func1;              //授人渔                  将函数在存中的首地址赋值给func2

                   var func3=func1();           //授人鱼                  将函数运行的结果赋值给func3

变量的作用域和生存周期

         变量的作用域就是变量的有效范围。

         全局作用域:定义在函数个部的变量他的作用域就是全局作用域,全局作用域的变量可以在任何位置进行访问。

         与局部作用域:定义在函数内部的变量他的作用域就是局部作用域。默认只能定义他的函数内访问。

         JS的作用域链,当在函数内部对一个变量进行操作时,JS会在当前(作用域)函数内寻找对此变量的声名(var),如果没对此变量的声名那么就会向上一层作用域去寻找,直到找到对此变量的声名不止;如果直到全局作用域都无此变量的声名,则在全局作用域内声名此变量。

示例:以下作用域形如上图

<script type="text/javascript">

                   function func1(){

                            function func3(){

                            }

                   }

                   function func2(){

                   }

         </script>

变量或函数的生存周期

         局部变量的生存周期为函数运行期间,

         全局变量的生存周期为页面打开至页面关闭。

数据的传递方式

         js中有两种数据传递方式

         传值(赋值传值):传递的是值

                   基本数据类型使用传值方式

         传址(引用传值):传递的是内存地址

                   复合数据类型使用的是传址方式

示例:内存结构如上图

         <script type="text/javascript">

                   var n1=100;

                   var n2=n1;

                   n2=200;

                   var str1="zhangsan";

                   var str2=str1;

                   str2="lisi";

                   var arr1=[10,20,30];

                   var arr2=arr1;

                   arr2[0]=100;

                   alert(arr1[0]);

         </script>

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
《C语言程序设计项目式教程》03 万年历写字字帖
C语言学习随笔
数组
JavaScript基础
JS 语言核心(JavaScript权威指南第六版)(阅读笔记)
花了一个月终于整理出来了,800道Python习题,试试你能做对多少道吧!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服