javaScript语法
变量的声明,一次声明多个变量
var name_01="marry",age=18,email="marry@sohu.com",address; js的数据类型

typeof 检测变量类型

var name_01="marry",age=18,email="marry@sohu.com",address;
console.log(age) //在控制台打印
console.log(typeof( name_01)) //检测变量类型undefined 未定义类型, 只有一个值就是undefined
null值表示一个空对象指针,如果定义的变量准备在将来用于保存对象,那么最好将改变量初始化为null而不是其他值。
var settings=null; //空对象说明:undefined 值是派生自null值的,所以undefined == null 的返回结果是true。
Number 数值类型
- Number:表示的是整数,浮点数
- NaN:即非数值(Not a Number)是一个特殊的数值
var age = 18;
console.log(age-"abc"); //返回值:NaN说明:1.任何涉及NaN的操作(例如NaN/10)都会返回NaN。2.NaN与任何值都不相等,包括NaN本身。
isNaN(n)检测n是否是“非数值” 返回值:boolean
var age = 18,email="marry@sohu.com";
var id = "16";
console.log(isNaN(age)); //返回值:false;
console.log(isNaN(email)); // 返回值:true;
console.log(isNaN(id)); // 返回值:false;
说明:isNaN()对接收的数值,先尝试转换为数值,再检测是否为非数值。
数值转换
Number()
var id = "16",email="marry@sohu.com";
id = Number(id); //转换成数值类型
email = Number(email);
console.log(typeof id); // 返回值,Number
console.log(typeof email); // 返回值,NaN
parseInt() 用于把字符串转化成数值
var topval ="28px";
topval1=parseInt(topval);
console.log(topval1); //28说明:parseInt()1.转换空字符串返回NaN,2.必须以数值开头,否则返回值为NaN
parseFloat() 从第一个字符开始解析每个字符,直至遇到一个无效的浮点数字符为止
var a=parseInt("12.34px"); //12
var b=parseFloat("12.34px"); //12.34
var c=parseFloat("12.34.56px"); //12.34
var d=parseInt("0123"); //123
console.log(a);
console.log(b);
console.log(c);
console.log(d);
说明:除了第一个小数点有效外,parseFloat()与parseInt()的第二个区别在于它始终都会忽略前导的零。
String 字符串类型
语法:str.toString()
功能:将str转换为字符串
返回值:str的一个副本
toString() , String()
var ids=7869;
var idstr=ids.toString();
console.log(typeof idstr);
console.log(String(ids));Boolean
var isStudent=true;
var isChild=false;
console.log(typeof isStudent);//Boolean
var x=1,y=0;
console.log(Boolean(x)); //true
console.log(Boolean(y)); //false说明:1.除0之外的所有数字,转换为布尔型都是true 2.除""之外的所有字符,转换为布尔型都为true 3.null和undefined转换为布尔型为false
算数操作符
1.算数操作符 : + - * / %
var num1=10,num2=20;
console.log(num1+num2); // 30递增:
++a与a++都是对a进行递增的操作
区别:++a先返回递增之后的a的值,a++先返回a的原值,再返回递增之后的值
var num1=10,
num2=5,
num3=++num1+num2;
console.log(num1); //11
console.log(num3); //16var num1=10,
num2=5,
num3=num1++-num2;console.log(num1); //11
console.log(num3); //5var x1=20,
x2=30,
x3=--x1+x2--;
console.log(x1); //19
console.log(x2); //29
console.log(x3); //19+30
2.逻辑操作符: &&(与),||(或),!(非)
&&与(只要有一个条件不成立,返回false)
var num1=10,
num2=20,
num3=30,
str="welcome",
bool=true,
m;
console.log(num1<num2 && num2<num3); //true
console.log(num1<num2 && num2==num3); //false
console.log(str && num3); //30
console.log(80 && 55); //55
console.log('hello' && 65 && "abc"); //abc
console.log(0 && 65 && "abc"); //0
console.log('' && 0 && 30>20); // 返回值 空


|| 或 (只要有一个条件成立,返回true)
console.log(55>88 || 33<66); //true
console.log(55!="55" || 88=="88"); //true
console.log("hello" || 0); //hello
console.log(99 || 0 || "abc"); //99
console.log(0 || '' || "abc"); //abc


! 非
说明:1.无论操作数是什么数据类型,逻辑非都会返回一个布尔值 2.!!同时使用两个逻辑非操作符时:第一个逻辑非操作会基于无论什么操作数返回一个布尔值,第二个逻辑非则对该布尔值求反
console.log(!false); //true
console.log(!88); //false
console.log(!0); //true
console.log(!"red"); //false
console.log(!NaN); //true
3.赋值操作符
简单赋值:=
复合赋值:+=,-=,*=,/=,%=
var a=10,
b=20;
var str="hello ";
a+=5; //a=a+5
b%=4; //b=b%4;
str=+"world"; //str=str+"word";
console.log(a);
console.log(str);
4.比较操作符
>, <, >=, <=, ==, ===, !=, !==
==:相等,比较值是否相等
===:相等,比较值的同时比较数据类型是否相等
!=:不相等,比较值是否不想等
!==:不相等,比较值的同时比较数据类型是否不相等
返回值:boolean型
var a=10,
b=20;
console.log(a>b); //flase5.三元操作符
语法:
条件?执行代码1:执行代码2
说明:
可以代替简单的if语句,
如果条件成立,执行代码1,否则执行代码2
var soce=55;
var result=(soce>=60)?"及格":"不及格";
console.log(result); //不及格