js语法

243 阅读4分钟


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);    //16

var num1=10,
    num2=5,
    num3=num1++-num2;console.log(num1);    //11
console.log(num3);    //5

var 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);    //flase



5.三元操作符

语法:

条件?执行代码1:执行代码2

说明:

可以代替简单的if语句,

如果条件成立,执行代码1,否则执行代码2

var soce=55;
var result=(soce>=60)?"及格":"不及格";
console.log(result);    //不及格