JavaScript进阶

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript进阶相关的知识,希望对你有一定的参考价值。

数学里面的"a>b",在javascript中还表示为a>b;数学中的"b大于a,b小于c"是a"a<b<c"
那么在JavaScript中可以用&&表示。如下:
b>a && b<c //“&&”是并且的意思,读法"b大于a"并且"b小于c"
好比我们参加高考时,在进入考场前,必须出示准考证和身份证,两者缺一不可,
否则不能参加考试,表示如下:
if(有准考证 && 有身份证)
{
  进行考试
}
"&&"是逻辑与操作符,只有"&&"两边值同时满足(同时为真),整个表达式才为真。
逻辑与操作符值表:
A B A&&B
真(true) 真(true) 真(true)
真(true) 假(false) 假(false)
假(false) 真(true) 假(false)
假(false) 假(false) 假(false)
注意:如果A为假,A&&B为假,不会在执行B;反之,如果A为真,要由B的值来决定
A&&B的值。
"||"逻辑或操作符,相当于生活中的"或者",当两个条件中有任意一个满足,"逻
辑或"的运算结果就为"真"。
如:本周计划出游,可是周一至周五工作,所以周六或者周日哪天去都可以。即两
天中只要有一天有空,就可以出游了。
var a=3;
var b=5;
var c;
c=b>a||a>b;//b>a是true,a>b是false,c是true
逻辑或操作符值表:
A B A||B
真(true) 真(true) 真(true)
真(true) 假(false) 真(true)
假(false) 真(true) 真(true)
假(false) 假(false) 假(false)
"!"是逻辑非操作符,也就是“不是”的意思,非真即假,非假即真。好比小花今天
买了一个杯子,小明说:“杯子是白色的”,小亮说:“杯子是红色的”,小花说
:“小明说的不是真话,小亮说的不是假话”。那么杯子是什么颜色的呢?答案是
红色的。
逻辑非操作符值表:
A !A
真 假
假 真
看看下面的代码,变量c的值是什么:
var a=3;
var b=5;
var c;
c=!(b>a);//b>a是true,!(b>a)的值是false
c=!(b<a);//b<a是false,!(b<a)的值是true
我们都知道,除法,乘法操作符的优先级比加法和减法高,例如:
var numa=3;
var numb=6;
jq=numa+30/2-numb*3;//结果为0
如果我们要改变运算顺序,需添加括号的方法来改变优先级:
var numa=3;
var numb=6;
jq=((numa+30)/(2-numb))*3;//结果是-24.75
操作符之间的优先级(高到低):
算术操作符>比较操作符>逻辑操作符>"="赋值符号
如果同级的运算是按从左到右次序进行,多层括号由里向外。
var numa=3;
var numb=6;
jq=numa+30>10&&numb*3<2;//结果为false
我们知道变量用来存储数据,一个变量只能存储一个内容。假设你想存储10个人的
姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果需要存储更
多数据,那就会变得更麻烦。我们用数组解决问题,一个数组变量可以存放多个数
据。数组是值的集合,可以根据需要向数组增加更多的值。每个值都有一个索引号
从0开始 数组中每个索引都有一个相应的值。
使用数组之前首先要创建,而且需要把数组本身赋至一个变量。好比我们出游要组
团,并且给团定个名字“天堂之旅”.
创建数组的语法:
var myarray=new Array();
var myarray是保存数组的变量 new Array()是创建一个新的空数组 整条语句是创
建一个新数组存储在myarray变量中。
我们创建数组的同时,还可以为数组指定长度,长度可任意指定。如:
var myarray=new Array(8);//创建数组,存储8个数据。
注意:1.创建的新数组是空数组,没有值,如输出,则显示undefined
2.虽然创建数组时指定了长度,但实际上数组都是变长的,也就是说即使指定了长
度为8,仍然可以将元素存储在规定长度以内。
OK 数组创建好了接下来我们要为数组赋值。我们把数组看似旅游团的大巴车,大巴
车里有很多位置,每个位置都有一个号码,顾客要做在哪个位置呢?
第一步:组个大巴车
第二步:按票对号入座
大巴车的1号座位是张三
大巴车的2号座位是李四
数组的表达方式:
第一步:创建数组var myarr=new Array();
第二步:给数组赋值
myarr[1]="张三";
myarr[2]="李四";
下面创建一个数组,用于存储五个人的数学成绩。
var myarray=new Array();//创建一个新的空数组
myarray[0]=66;//存储第一个人的成绩
myarray[1]=88;//存储第二个人的成绩
myarray[2]=77;//存储第三个人的成绩
myarray[3]=33;//存储第四个人的成绩
myarray[4]=78;//存储第五个人的成绩
注意:数组每个值有一个索引号,从0开始。
我们还可以用简单的方法创建上面的数组和赋值:
第一种方法:var myarray=new Array(66,88,77,33,78);//创建数组同时赋值
第二种方法:var myarray=[66,88,77,33,78];//直接输入一个数组(称“字面量
数组”)
注意:数组存储的数据可以是任何类型(数字、字符、布尔值等)
这里的例子是存储五个人的成绩,如果现在多一个人的成绩,怎么存储呢?
只需要使用下一个未用的索引,任何时刻可以不断的向数组增加新的元素。
myarray[5]=90;//使用一个新的索引,为数组增加一个新元素。
这里最重要的一点就是索引,知道索引是什么,并且以此作为找寻的依据即可。
如果我们想知道数组的大小,只需引用数组的一个属性length。length属性表示数
组长度,即数组中元素的个数。
语法:myarray.length;//获得数组myarray的长度
注意:因为数组的索引总是由0开始,所以一个数组的上下限分别是0和length-1.
如数组的长度是5,数组的上下限分别是0和4.如:
var arr=[1,2,3,4,5,6,7,8];//包含8个数值的数组arr
document.write(arr.length);//显示数组长度8
document.write(arr[7]);//显示第8个元素的值8
同时,JavaScript数组的length属性是可变的,这一点需要特别注意。
arr.length=10;//增大数组的长度
document.write(arr.length);//数组长度已经变为10
数组随元素的增加,长度也会改变,如下:
var arr=[98,76,54,32,11];//包含5个数值的数组
document.write(arr.length);//显示数组的长度5
arr[15]=34;//增加元素,使用索引为15,赋值为34
alert(arr.length);//显示数组长度16
一维数组,我们可以看成一组盒子,每个盒子只能放一个内容。
一维数组的表示:myarray[]
二维数组,我们看成一组盒子,不过每个盒子里面还可以放多个盒子。
二维数组的表示:myarray[][]
注意:二维数组的两个维度的索引值也是从0开始,两个维度的最后一个索引值为长
度-1.
1.二维数组的定义方法一
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
}
  }
注意:关于for循环语句后面会更新说明。
将上面二维数组用表格的形式表示:
0 1 2
0 myarr[0][0] myarr[0][1] myarr[0][2]
值:0 值:1 值:2
1 myarr[1][0] myarr[1][1] myarr[1][2]
值:0 值:2 值:3
 
2.二维数组的定义方法二
var Myarr=[[0,1,2],[1,2,3]]
3.赋值
myarr[0][1]=5;//将5的值传入到数组中,覆盖原有值
说明:myarr[0][1],0表示表的行,1表示表的列
???丢一个练习:
使用Javascript语言,把以下数组
   var  arr = [‘*‘,‘##‘,"***","&&","****","##*"];
   arr[7] = "**";
在页面显示如下图所示的图案:
*
**
***
**** 
 
 
 
<!DOCTYPE  html><html ><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>数组</title><script type="text/javascript"> var arr=[‘*‘,‘&&‘,,‘##‘,‘***‘,‘&&*‘,‘****‘,‘##*‘]
arr[2]="**";
//alert("数组的长度为"+arr.length);
for(var i=0;i<7;i++){
    if(i%2==0){
document.write(arr+"<br>");
}else{
    document.write(" "+"<br>");
}
}
</script></head><body></body></html>










以上是关于JavaScript进阶的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript 开发进阶:理解 JavaScript 作用域和作用域链

JavaScript 进阶问题列表

python前端JavaScript入门及进阶

Javascript进阶---对象类型

Javascript 进阶 面向对象编程 继承的一个例子

javaScript-进阶篇