1:数据类型
数据类型:boolean布尔型 (ture,false),number数字型,string字符串型,undefined未定义,null(空),
特殊数据类型:object对象,arry数组,function函数
2:判断数据类型
typeof 变量名;判断数据是什么数据类型
var str="周";
var num=19;
var ble:true;
var udf=undefined;
var n=null;
conse.log(typeof str);//输出string
3:数据类型的变化
var age =15;
console.log(typeof age);//输出number
age = "15";
console.log(typeof age);//输出string
//字符串的转换
var num=2;
var strNum="2";
//parseInt()将字符串转换为number型
console.log(parseInt(StrNum)+num);//输出结果:4
4:注释
//单行注释
/*
多行注释
*/
/**
文档注释
*/
5:赋值操作符:=
var str = 5;
6:一元操作符
// -
var num = -5;
console.log(num);
// + 直接将字符串转化为number型数字
var strNum = +"3";
console.log(strNum,typeof strNum);
// i++ 先返回i的值再加1;i-- 先返回i再减1
var i=1
console.log(i++);// 输出1
console.log(i);// 输出2
// ++i 先加1再返回i的值;--i 先减1在返回i
console.log(++i); //输出2
console.log(i);//输出2
7:算术操作符
// +加
console.log("1+5=",1+5);//输出结果:1+5=6
// -减
console.log("5-1=",5-1);//输出结果:5-1=4
// *乘
console.log("2*2=",2*2);//输出结果:2*2=4
// /除
console.log("4/2=",4/2)//输出结果:4/2=2
//取余
console.log("7 % 2 =",7%2);//输出结果:7%2=1
//指数
console.log("4 ** 2 =",4 ** 2)//输出结果:4**2=16
8:比较操作符:返回结果是boolean型,也就true或false
// > >= < <=
console.log("1>5",1>5);//输出结果:false
console.log("1>=5",1>=5);//输出结果:false
console.log("5>=5",5>=5);//输出结果:true
// == 两边的值相同则为true(javascript会把两把的值进行转换,让他们变成同一类型进行比较
// === 两边的值相同,并且数据类型也想同则返回true
console.log(5==5);//输出结果:true
console.log(5=="5");//输出结果:true
console.log(5==="5");//输出结果:false
console.log(5===5);//输出结果:true
//特殊 undefined,null
console.log("undefined == null");/、输出结果:true
console.log("undefined === null");/、输出结果:false
9:逻辑操作符 &&与、 ||或、!非
// &&:都为真则输出为true,一真一假为false
console.log(true && true);//输出结果: true
console.log(true && false);//输出结果:false
// ||:一真一假,输出true
console.log(true || false);//输出结果:true
// !true就是false,!false就是true
console.log(!true);//输出结果:false
//简单运用
console.log(true && "hello");//输出结果:hello
console.log(true || "no printed");//输出结果:true
console.log(false && "not printed");//输出结果:false
console.log(false || "default");//输出结果:default
var a=null;
b = a || 5;
console.log(b);//输出结果:5
console.log(!4);//输出结果:false
console.log(!!4);//输出结果:true
10:位运算符:位运算符是对二进制表示的数字进行操作,它会将操作数转化为一个32位的二进制数字(符号有 与& 、或|、异或^、取反~、左移<<、右移>>、无符号右移>>>)
/*
与& 相同位置相同的数取同一值,不同的数取0
5 二进制表示 101(左边的都是0也就不写)
3 二进制表示 011
*/
console.log(5 & 3);//输出结果:1(001)
//或| 相同位置都是0才返回0,其他都返回1
console.log(5 | 3);//输出结果:7(111)
//异或^ 相同位置的返回0,不同的返回1
console.log(5 ^ 3);//输出结果:6(110)
//取反~ 对数字进行取反操作,1变成0,0变成1,32位数当中最左边的数如果是1的话,也就代表是负数
/*
例如本例中得到的 1111 1111 1111 1111 1111 1111 1111 1010,其符号位(最左一位)是1,表明它表示的是负数,
欲求其源码,需先对其取反,
然后再加1:0000 0000 0000 0000 0000 0000 0000 0101 + 1 = 0000 0000 0000 0000 0000 0000 0000 0110,
然后在得到的源码前加一个负号,即-0000 0000 0000 0000 0000 0000 0000 0110 = -6。
按位取反的计算结论是:~n = -(n+1)
*/
console.log(~5);//输出结果:-6(1……1010)
console.log(~3);//输出结果:-4(1……1100)
//左移<< 对二进制数字整体往左移一位,右边不够的用0补齐
console.log(5 << 1);//输出结果:10(1010)
//右移>> 对二进制数字整体往右移一位
console.log(5 >> 1);//输出结果:2(0010)
//无符号右移>>> 最左边为1的话,就会变成0,也就是变成正数
console.log(-5 >>> 1);//输出结果:2147483645
11:三目运算符(条件 ?“条件为真时输出的结果” : “条件为假时输出的结果”)
var num=10;
console.log(num > 15 ? "大于" : "小于");//输出结果:小于
console.log(num > 5 ? "大于" : "小于");//输出结果:大于
12:代码块
//用let创建的变量,和用const创建的常量,都只能在语句块内部访问,var定义的可以在任何地方访问
{
var name = "周";
console.log(name);//输出结果:周
let age = 15;
console.log(age);//输出结果:15
const num = 10;
console.log(num);//输出结果:10
}
console.log(name);//输出结果:周
console.log(age);//age没有定义,因为let创建的值只能在语句块内部访问
console.log(num);//num没有定义,因为const创建的值只能在语句块内部访问
13:if……else判断语句
var passcode = prompt("请输入:");
if(passcode === "我"){
alert("正确");
}else{
alert("错误");
}
14:if……else if……else判断语句
var role = prompt("请输入:");
if(role === "我"){
alert("正确");
}else if(role === "你"){
alert("重新输入");
}else{
alert("错误");
}
15:switch……case判断语句
var role = prompt("请输入:");
switch(role){
case "我":
alert("正确");
break;
case "你":
alert("重新输入:");
break;
case "他":
alert("错误");
break;
default:
alert("它");
}
16:while循环语句
var password = "";
while(passworld !=== "123456"){
password = prompt("请输入密码");
}
console.log("登录成功");
17:do……while
var x =5;
do{
console.log(x);//输出结果:5
console.log(x++);//输出结果:5、6、7、8、9、10
}while(x >5 && x<= 10);
console.log(x);//输出结果:11
18:for循环语句
for(let i = 0;i < 10; i++){
console.log(i);//输出结果:输出了从0到9之间的整数
}
for(let i = 0;i < 10; i += 2){
console.log(i);//输出结果:0、2、4、6、8
}
for( ; ; ){
console.log("true")//输出结果:一直输出true
}
19:break(在循环的过程中强行终止循环)/ continue(跳过当前这一次的循环,但是还会继续执行后面的循环)
for(let i =0;i < 10; i++){
if(i === 6){
break;
}
console.log(i);//输出结果:输出从0到5之间的整数
}
for(let i =0;i < 10; i++){
if(i === 6){
continue;
}
console.log(i);//输出结果:除了6之外,输出从0到10之间的整数
}