注释
1、单行注释://
2、多行注释:/* 注释内容*/
数据类型
- 总共有七种,都需要写在head标签的script标签中。
<script>内容</script>
1、字符串
需用**单引号**或**双引号**引起来。
var name="涨潮";
console.log(name);
2、 数字
可以为整数,小数和科学计数法(3e8)。
var price=9.9; console.log(price);
3、布尔
只有true和false.
var state=false;//布尔型 console.log(state);
4、数组
数组下标从0开始。
var scores=new Array(); scores[0]=100; scores[1]=88; console.log("洲洲的成绩是"+scores[0]+"。"); //name.length为数组的长度。 var names=['流云','高尚','洲洲', '鲸鱼'];//数组型,穷举 console.log(names[2],names[3]);
5、 对象
- 由 {大括号} 包裹,括号内部,对象的属性以属性名 : 属性值的形式来定义,属性之间由逗号分隔,最后一个属性不加逗号。
对象的属性值有两种获取方法:
对象变量名.属性名
对象变量名["属性名"]
var computer={ brand:"华硕", CPU:"英特尔", memory:"128G" }; //第一种方法: console.log(computer.brand); //第二种方法: console.log(computer["memory"]);
6、 null
声明变量并为其赋值null。
var sexs=null; console.log(sexs);
7、 undefined
声明变量但没为其赋值。
var yuzhou; console.log(yuzhou);
注意
使用var关键词声明变量,声明变量时也可以直接为变量赋值。
var只是声明变量时的关键字,不是数据类型。
运算符
算术运算符
- 加(+),减(-),乘(*),除(/),取余数(%),累加 (++),累减(–)
var result=2/3;//除法的结果是小数
console.log(result);
var i=3;
result=++i;
/*
对于变量i来讲无论放在前面还是后面都会+1或-1。
*/
console.log(result);//输出4
1、在进行算数运算过程中,JavaScript没有按最高精度保留结果的特点
2、 加(+) 运算符也用于将字符串变量或文本值连接起来。
3、对于赋值的元素result来讲++或--放在变量前先运算后赋值,否则先赋值后运算。
三目运算符(条件运算符)
result=1<6?true:false;
console.log(result);
赋值运算符
=: x=y
+=:x+=y x=x+y
-= :x-=y x=x-y
**= : x*=y x=x*y
/= : x/=y x=x/y
%=: x%=y x=x%y
关系运算符(比较运算符)
用于判断变量或值之间的关系,返回布尔型结果。
var a=6;
var b="6";
result=a==b;
console.log(result);
result=a===b;
console.log(result);
==:用于一般比较,不区分数据类型,只区分值是否相等;如果两个数据的数据类型不同,则在比较前会先将数据类型进行转换。
===:用于严格比较,只有数据类型相同且值相等的两个数据才会返回true
逻辑运算符
判定变量或值之间的逻辑关系,返回布尔型结果。
&&与 , ||或,!非
var a = 10;
var b = 10;
if (((a = 0) == 0) || ((b = 20) == 20)){
//或运算只要前面一个为真,不考虑后一个,输出10;若前面为假,则输出20。
console.log("b=" + b);
}
//或运算会出现短路现象
分支语句
if分支语句
1、 if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码。
if (条件) {
当条件为true时执行的代码
}
2、if…else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码。
if (条件){
当条件为true 时执行的代码
}else {
当条件不为true时执行的代码
}
3、if…else if….else 语句 - 使用该语句来选择多个代码块之一来执行。
if (条件 1) {
当条件 1为 true 时执行的代码
}else if (条件 2) {
当条件 2为 true 时执行的代码
}else{
当条件 1 和 条件2都不为 true 时执行的代码
}
问题 //已知一个0到23的数字,规定0-5为早晨,6-11为上午,12-17为下午,18到23为晚上。
var time=-9;
if(0<=time && time<=5){
console.log("早晨");
}else if(6<=time && time<=11){
console.log("上午");
}else if(12<=time && time<=17){
console.log("下午");
}else if(18<=time && time<=23){
console.log("晚上");
}else{
console.log("时间输入错误");
}
switch分支语句
switch 语句 - 使用该语句来选择多个代码块之一来执行。
switch(n){
case 常量1:
执行代码块1
break;
case 常量2:
执行代码块2
break;
default:
n与常量1和常量2不同时执行的代码
}
//n的类型可以为字符串。
var n=0;//break取消,会全部执行。break是结束当前语句。
switch(n){
case 0:
console.log("A");
break;
case 1:
console.log("B");
break;
default:
console.log("错误");
}
循环语句
for循环和while循环。
1、for循环语句
for循环:语句 1 在循环体开始前执行;语句 2 定义运行循环体的条 件;语句 3 在循环体已被执行之后执行
for/in循环: for (语句 1; 语句 2; 语句 3) { 循环体 } for(var i=0;i<names.length;++i){//循环体 i++和++i相同作用 console.log(names[i]); }
for/in循环:
for (property in expression) {
循环体
}
var trees = ["国槐","白杨","红柳"];
for(var index in trees){
console.log(trees[index]);
}
2、while循环
while循环:如果条件为真则执行循环体。
while (条件) {
循环体
}
do/while循环:无论条件是否成立,循环体都会执行一遍,然后条件继续为真,则循环体再次执行。
do {
循环体
}while (条件);
- 函数(方法):有名函数可以在调用之后再定义,而匿名函数则不可以。
1、定义式:(有名函数)
function functionName([参数列表]){
函数体;
}
function test(a){
console.log(a);
}
test(3);
两者结果相等,都输出3.
test(3);
function test(a){
console.log(a);
}
2、变量式:(匿名函数,只能先定义再调用)
var functionName =function ([参数列表]){
函数体;
};
调用匿名方法:两个小括号。
(
function(i){
console.log("居然能调用"+i);
}
)(2);//输出 居然能调用2
函数中嵌入数组:
function iterater(array){
//第一种
for(var i in array){
console.log(array[i]);
}
//第二种
for(var i=0;i<array.length;i++){
console.log(array[i])
}
}
iterater(names); //数组名为names的数组。
关键字用法: return、continue和break。
return:1、结束return前面全部语句;2、用作返回值//return用作结束全部语句 function terr(){ var i=0; if(i==0){ return; } console.log("信息") } terr() //return用作结束全部语句,break用于结束当前语句 function level(){ var n=0; switch(n){//n的类型可以为字符串 case 0: console.log("A"); break;//当为break时,输出日志信息 case 1: console.log("B"); break;//当为return时,无输出 default: console.log("错误"); } console.log("日志信息"); } level(0); //return用作返回值 function method(){ return 6; } var result = method(); console.log(result);//结果输出6
break :用做结束当前switch分支语句和当前for循环语句。
for(var i=0;i<7;++i){
for(var j=0;j<3;++j){
if(j==1){
break;
}
console.log("结束if语句");//输出七次
}
}
console.log("输出七次结束if语句");//break结束if语句
continue:执行当次(continue成立的那一次)循环,结束下一次循环。
for(var i=0;i<5;i++){
if(i%2==0){
continue;
}
console.log("***********"+i);
}//输出***********1 和 ***********3