JavaScript语法
二、数据类型
程序把这些量、值分为几大类,每一类分别叫什么名称,有什么特点,就叫数据类型。
1.字符串(string)
字符串由零个或多个字符构成,字符包括字母,数字,标点符号和空格;
字符串必须放在引号里(单引号或双引号)。
var mood = "happy"; var mood = 'happy';
用引号括起来的内容,就是字符串类型 了;
如果内容有单引号也有双引号的时候,使用转义字符"",作用:解决冲突
2.数值(number)
var age = 20; var price = 20.50;
在生活中的数字也是区分 数值和字符串类型的:
当作数字、数目的时候,例如年龄、价格,就是数值类型(number);
当作编号的时候,例如身份号码、学号,就是字符串类型(string);
3.布尔类型(boolean)
布尔类型数据只能有两种值:true 和 false;
布尔值的true和false就是逻辑里面的真假,也是计算机语言里里面的0,1;
var married = true; var married = false;
注意:与字符串不同,不要把布尔值用引号括起来。布尔值 false 与 字符串 "false"是两回事。
4.对象(object)
Javascript是一种面向对象的语言,因此可以使用面向对象的思想来进行对象就是由一些彼此相关的属性和方法集合在一起而构成的一个数据实体。
例如:Date日期对象
Date对象用来处理日期和时间
//新建日期对象,然后赋值给变量today var today = new Date; //使用日期对象获取年份的方法得到今年的年份,然后赋值给变量year var year = today.getFullYear(); //使用日期对象获取月份的方法得到这个月的月份,然后赋值给变量month var month = today.getMonth() + 1; //使用日期对象获取到日期数的方法得到今天是几号,然后赋值给变量day var day = today.getDate(); //将年份、月份、日期输出到页面 document.write(year+"年"+month+"月"+day+"日"); //时分秒 var hours = today.getHours(); var minutes = today.getMinutes(); var seconds = today.getSeconds(); document.write(hours+"时"+minutes+"分"+seconds+"秒");
5.Array数组
变量一般都只能存储一个内容,所以变量是一个单一的容器;
数组一般可以存一个或者是多个值 ,所以数组是一个大的容器。
数组的组成部分:
数组其实是由多个(键-值)所组成的一个多容器
数组的索引,默认是从0开始的
//方式一 var arr1 = new Array(1,2,3,4,5,6,7,8,9,0); //方式二 var arr2 = [1,2,3,4,5,6,7,8,9,0]; //方式三 var arr3 = new Array(); arr3[0] = 1; arr3[1] = 2;
多维数组:
var arr = [ [1,2,3], [4,5,6] ]; document.write(arr[1][2]); //6
6.null,underfined
null
在 JavaScript 中 null 表示 "什么都没有"。
null是一个只有一个值的特殊类型,表示一个空对象引用。
你可以设置为 null 来清空对象:
var person = null;
underfined
在 JavaScript 中, undefined 是一个没有设置值的变量。
typeof 一个没有值的变量会返回 undefined。
你可以设置为 undefined 来清空对象:
var person = undefined;
null 和 underfined 的区别 :
typeof undefined // undefined typeof null // object null === undefined // false null == undefined // true
三、数据类型的查看和转换
1.查看数据类型 typeof
var mood = "happy"; alert(typeof mood); //outputs : string alert(typeof 95); //outputs : number
2.转换成字符串
var married = false; alert(married.toString()); // outputs : "false" var age = 25; alert(age.toString()); //outputs : "25"
3.转换成数字
parseInt() 转换成整数
var test = parseInt("blue"); //returns NaN var test = parseInt("1234blue"); //returns 1234 var test = parseInt("22.5"); //returns 22 var test = parseInt("asd23434"); //returns NaN
NaN:不是数值的数值
parseFloat() 转换成浮点数
var test = parseFloat("1234blue"); //returns 1234 var test = parseFloat("22.5"); //returns 22.5
不同类型的运算:
var a = "23"; var b = 1; alert(a+b); //231 说明:如果不是同种类型的话,那么+代表的是拼接的意思 alert(a-b); //22 说明:除了+这种特殊的运算方式以外,即使是不同类型也能够进行运算
4.判断变量类型
A,判断字符串
typeof(a)=="string";
B,判断数值
typeof(a)=="number";
C,如果是一个数值类型,但内容不是一个有效的数字,会显示NaN,判断NaN isNaN(a)
D,判断变量是否为空(未定义变量。或定义变量但没进行初始化就会出现)typeof(a)=="undefined"
四、运算符
1.算术运算符(+ - * / %)
alert("10"+20); //return 1020; alert(10+20); //return 30; alert(20-10); //return 10; alert(10*5); //return 50; alert(10/5); //return 2; alert(10%5); //return 0;
2.后增量/后减量运算符 ++ ,--
var i = 0, j = i++; // 先赋值后运算 console.log(j); //j=0
前增量/前减量运算符 ++ ,--
var i = 0, j = ++i; // 先运算后赋值 console.log(j); //j=1
3.比较运算符 (>, <, >=, <=, ==, !=)
alert ( 10 > 5 ); //outputs true var i = 100; var n = 100; alert(i == n); //outputs true alert(i != n); //outputs false alert(i === n); //outputs true 数据类型和值都相等
4.逻辑运算符(&& 与, || 或 , ! 非)
var i = 8; alert ( i<5 && i<10); //outputs false alert ( i > 100 || i < 10); //outputs true alert(!(10 > 5)); //outputs false
五、JavaScript的注释
// 单行注释
/* …*/ 多行注释
六、程序流程控制
1.条件语句 if
语法:if(condition) statements1 else statement2
例子:
var i = prompt("您的成绩是:"); if(i >= 80) { alert("成绩优异"); }else if(i >= 60) { alert("成绩合格"); }else{ alert("成绩不合格"); }
2.switch 语句
相当于条件判断的变种方式,或者是另外的一种形式
语法:
switch (expression){ case value: //statement break; case value: //statement break; default: //statement }
例子:
var i = prompt("请选择套餐A,B,C,D"); switch (i) { case "A": alert("您已订购A套餐"); break; case "B": alert("您已订购B套餐"); break; case "C": alert("您已订购C套餐"); break; case "D": alert("您已订购D套餐"); break; default: alert("欢迎下次光临"); }